Problem while changing the JSplitpane in a dynamic way.
Hi Everyone,
In my application i'm changing the jsplitpane in a dynamic way.i'm posting the sample code thatz giving problem.Kindly compile and execute this.In the first frame i've done a split of two parts. The top component has got the name of the application and the bottom component has got some links related to that application. If the user click on this link ,i'm capturing the bottom component alone from the original splitpane and i'm breaking that into another split.
upto this every thing works fine.Now the problem is when ever the user click on that link it'z capturing that event and doing consecutive split on the bottom frame.But i need that paricular split that user has already got to be repainted for all the time when user click on the link.Eventhough i've captured the main splitpane object in some other variable and assiging the same to the second window when user click on that url.But itz not recognizing that.
Kindly some one help me to resolve this.
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
public class Test2 extends JPanel // implements KeyListener
static Vector<String> arrAppName = new Vector<String>();
public static JSplitPane splitPane,splitPane2;
public void AppWin(final JFrame frame)
Container contentPane = this;
GridBagLayout gb = new GridBagLayout();
contentPane.setLayout(gb);
arrAppName.add("link");
JLabel lab = new JLabel("<html><font color=#6698FF><a href>" + arrAppName.get(0) + "</a></font></html>");
contentPane.add(lab);
JScrollPane listScrollPane = new JScrollPane(contentPane);
JLabel label = new JLabel("APPLICATION REPORT", JLabel.CENTER);
Font font = label.getFont();
Font font3 = font.deriveFont(25.0f);
label.setFont(font3);
label.setFont(label.getFont().deriveFont(Font.ITALIC));
label.setHorizontalAlignment(JLabel.CENTER);
label.setForeground(new Color(0x736AFF));
JScrollPane labelScrollPane = new JScrollPane(label);
labelScrollPane.setVisible(true);
// Create a split pane with the two scroll panes in it.
splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
splitPane.setTopComponent(labelScrollPane);
splitPane.setBottomComponent(listScrollPane);
splitPane.setDividerLocation(100);
Dimension minimumSize = new Dimension(100, 50);
listScrollPane.setMinimumSize(minimumSize);
labelScrollPane.setMinimumSize(minimumSize);
splitPane2= new JSplitPane();
splitPane2=splitPane;
lab.addMouseListener(new MouseListener()
public void mouseClicked(MouseEvent arg0)
displayMainFrame("link", frame);
public void mousePressed(MouseEvent arg0)
public void mouseReleased(MouseEvent arg0)
public void mouseEntered(MouseEvent arg0)
public void mouseExited(MouseEvent arg0)
public void buildWindow(String link, JFrame frame)
Container contentPane = this;
GridBagLayout gb = new GridBagLayout();
contentPane.setLayout(gb);
JLabel label = new JLabel("Next Screen", JLabel.CENTER);
Font font = label.getFont();
Font font3 = font.deriveFont(25.0f);
label.setFont(font3);
label.setFont(label.getFont().deriveFont(Font.ITALIC));
label.setHorizontalAlignment(JLabel.CENTER);
label.setForeground(new Color(0x736AFF));
JScrollPane buildWindowtop = new JScrollPane(label);
buildWindowtop.setVisible(true);
contentPane.add(buildWindowtop);
/*assigning the main split pane object for all the consecutive call*/
splitPane=splitPane2;
JSplitPane splitPane1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane1.setTopComponent(splitPane.getBottomComponent());
splitPane1.setBottomComponent(contentPane);
splitPane.setBottomComponent(splitPane1);
splitPane.setOneTouchExpandable(true);
splitPane.setDividerLocation(100);
Dimension minimumSize = new Dimension(100, 50);
buildWindowtop.setMinimumSize(minimumSize);
splitPane1.setMinimumSize(minimumSize);
} // end printing rows
public static void displayFrame(String tname, JFrame framedisp, String buttonName, String tranCorrID,
String buttonOption, JSplitPane buildSplit)
Test2 mainDispPane = new Test2();
framedisp.getContentPane().add(splitPane);
framedisp.setVisible(true);
public static void displayMainFrame(String link, JFrame framedisp)
Test2 mainDispPane = new Test2();
mainDispPane.buildWindow(link, framedisp);
framedisp.getContentPane().add(splitPane);
framedisp.setVisible(true);
public static void main(String[] args)
JFrame frame = new JFrame("MAIN WINDOW");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Test2 mainPane = new Test2();
mainPane.AppWin(frame);
frame.getContentPane().add(splitPane);
frame.setSize(1280, 1000);
frame.setVisible(true);
} // end main
} // end Test2Thanks in Advance,
Siva.
anybody can help me this regard?
Similar Messages
-
Problem while changing the width of the Indesign document through inx.
Hi Guys,
I am facing a problem related to the width of InDesign documents. Description of the problem is as follows:-
I have created an InDesign document with height = 700 and width = 500 and export this as an inx file (lets say Doc1.inx).
As "Doc1.inx" is just an xml file I have made certain changes to the height and width fields of the dcoument in it. (Height =900 and Width = 600)
For Height changes are made under following tags :- <docu>
<docp>
phgt = "U_900" ;
For Width changes are made under tags :- <docu>
<docp>
pwdt = "U_600";
Now when I opened the modified "Doc1.inx" file with InDesign the modifications for height are correctly reflected, but the width of the column doesn't gets changed. Please open the attachments to see the difference.
Attachment contains the snap shots of documents created at step 1(Initial_Doc1.indd) and step 3(Modified_Doc1.indd).
What should be the modifications we have to do in inx file to reflect the correct modified width of the document. Also is there any document or article which gives the correct understanding of the tags used in inx files.
Any help will be appreciable.I'm having troubles getting any sensible values at all using CS -- on the other hand, you forgot to mention your version, so I figgered I could try.
(Just as an example, setting width & height to 600 pt and 900 pt -- you don't mention your units of measure either, is it meters? inches? -- I get "phgt="u_408c2000~0" pwdt="u_4082c000~0"", which doesn't make sense. Cicero's!? [*])
But further below, I can see some definitions for columns: count (colc="l_1") and some measurements in that same system, which I suspect to be the width and height you are looking for. You switch between describing you succesfully changed the width and height of the document, and complaining the column does not change. Apparently, the column width is defined in itself, rather than using the "document marges" you are used to in the interface itself.
[*] On second look, I can see more hexadecimal digits in other 'numbers'. It must be hexadecimally encoded IEEE floating point numbers -- "408c2000" decodes to 4.378906, and 4082c000 to 4.085938 -- both valid floating point numbers, but still I wouldn't know in what system.
I hope your version uses regular decimal notation! -
Problem while changing the query of the field in Oracle apps 11.5.10
Hello All,
Requirement:
User want to change the query of the LOV attached to Ordered item field on Line items tab on the Sales order form in Order managment
Block name = 'LINE'
Field name = 'ORDERED_ITEM_DSP'
LOV attached to this field in FMB: ITEMS
LOV attached to this field in front end: ENABLE_LIST_LAMP
Problem: Following code is firing at all points (Debug messages are appearing at all points) but Query of the LOV attached to item is still same.
How can in FMB LOV is "ITEMS" and in front end "ENABLE_LIST_LAMP"
My guess is there is some problem with the LOV name which we are passing in the code below. Because LOV name attached to item are different in front end and FMB. There is no LOV in FMB which has “SYSTEM ITEMS Description” kind of structure.
I have written following code in custom.pll (l_chr_rg_query is query taken from the record group attached to “ITEMS” named LOV with some modifications ex: rownum<6 so that it will show only 6 records in LOV if it is really firing our query for LOV)
IF ( form_name = ‘OEXOEORD’
AND block_name = ‘LINE’
AND field_name = ‘ORDERED_ITEM_DSP’
AND event_name = ‘WHEN-NEW-ITEM-INSTANCE’
THEN
MESSAGE (‘message1’);
l_chr_rg_name := ‘XXLION_UNIFORM_CODE_RG’;
l_chr_rg_query :=
‘SELECT item, item_id, item_description, inventory_item_id,item_identifier_type,null item_identifier_type_meaning, ‘
|| ‘inventory_item, address, cust_address, item_definition_level ‘
|| ‘FROM oe_return_items_v ‘
|| ‘WHERE (sold_to_org_id = :parameter.lov_num_param1 OR sold_to_org_id IS NULL)’
|| ‘ and rownum < 6 ORDER BY item’;
MESSAGE (‘message2’);
l_rg_id := FIND_GROUP (l_chr_rg_name);
MESSAGE (‘message3’);
IF ID_NULL (l_rg_id)
THEN
MESSAGE (‘Creating record group here’);
l_rg_id :=
CREATE_GROUP_FROM_QUERY (l_chr_rg_name, l_chr_rg_query);
END IF;
errcode := POPULATE_GROUP (l_rg_id);
MESSAGE (‘ERROCODE is : ‘ || errcode);
L_lov_id := FIND_LOV (‘ITEMS’); --My guess is this LOV name is the source of problem.
MESSAGE ('Error code is4');
SET_LOV_PROPERTY (l_lov_id, group_name, l_rg_id);
MESSAGE ('Error code is5');
SET_ITEM_PROPERTY ('LINE.ORDERED_ITEM_DSP', lov_name, 'ITEMS');
END IF;I found that there is no problem with code. My problem is not technical, its a functional problem.
It is related to Inventory's "System Items" KFF.
Can anybody tell me, to this "System Items" KFF, one value set is assigned. but it is of none type of value set. so from where the values in LOV are coming? -
Facing problem while changing the database at runtime
hi everyone,
Before posting this thread, i have gone through the various posts addressing the problem....but still iam unable to get the solution for this problem.
The report has been generated in one system, so the database properties (connection string....) are hardcoded in the report file...
Now when iam trying to change the database, it is still connecting to the system where the report file was created.
I have tried the changeDatasource() method, but it didnot worked....
here is the code for changeDatasource() method
public static void changeDataSource(ReportClientDocument clientDoc,
String reportName, String tableName,
String username, String password, String connectionURL,
String driverName,String jndiName) throws ReportSDKException {
PropertyBag propertyBag = null;
IConnectionInfo connectionInfo = null;
ITable origTable = null;
ITable newTable = null;
// Declare variables to hold ConnectionInfo values.
// Below is the list of values required to switch to use a JDBC/JNDI
// connection
String TRUSTED_CONNECTION = "false";
String SERVER_TYPE = "JDBC (JNDI)";
String USE_JDBC = "true";
String DATABASE_DLL = "crdb_jdbc.dll";
String JNDI_DATASOURCE_NAME = jndiName;
String CONNECTION_URL = connectionURL;
String DATABASE_CLASS_NAME = driverName;
// The next few parameters are optional parameters which you may want to
// uncomment
// You may wish to adjust the arguments of the method to pass these
// values in if necessary
// String TABLE_NAME_QUALIFIER = "new_table_name";
// String SERVER_NAME = "new_server_name";
// String CONNECTION_STRING = "new_connection_string";
// String DATABASE_NAME = "new_database_name";
// String URI = "new_URI";
// Declare variables to hold database User Name and Password values
String DB_USER_NAME = username;
String DB_PASSWORD = password;
System.out.println("DB_USER_NAME......."+DB_USER_NAME);
System.out.println("DB_PASSWORD......."+DB_USER_NAME);
// Obtain collection of tables from this database controller
if (reportName == null || reportName.equals("")) {
Tables tables = clientDoc.getDatabaseController().getDatabase().getTables();
System.out.println("Tables in reports........"+tables.size());
for(int i = 0;i < tables.size();i++){
origTable = tables.getTable(i);
System.out.println("origTable........"+origTable.getQualifiedName());
if (tableName == null || origTable.getName().equals(tableName)) {
newTable = (ITable)origTable.clone(true);
// We set the Fully qualified name to the Table Alias to keep the
// method generic
// This workflow may not work in all scenarios and should likely be
// customized to work
// in the developer's specific situation. The end result of this
// statement will be to strip
// the existing table of it's db specific identifiers. For example
// Xtreme.dbo.Customer becomes just Customer
newTable.setQualifiedName(origTable.getQualifiedName());
System.out.println("newTable........"+newTable.getQualifiedName());
// Change properties that are different from the original datasource
// For example, if the table name has changed you will be required
// to change it during this routine
// table.setQualifiedName(TABLE_NAME_QUALIFIER);
// Change connection information properties
connectionInfo = newTable.getConnectionInfo();
// Set new table connection property attributes
propertyBag = new PropertyBag();
// Overwrite any existing properties with updated values
//propertyBag.put("Trusted_Connection", TRUSTED_CONNECTION);
//propertyBag.put("Server Type", SERVER_TYPE);
propertyBag.put("Use JDBC", USE_JDBC);
propertyBag.put("Database DLL",DATABASE_DLL );
propertyBag.put("JNDI Datasource Name",JNDI_DATASOURCE_NAME );
propertyBag.put("Connection URL", CONNECTION_URL);
propertyBag.put("Database Class Name", DATABASE_CLASS_NAME);
//propertyBag.put("Server Name", SERVER_NAME); //Optional property
// propertyBag.put("Connection String", CONNECTION_STRING); //Optional property
// propertyBag.put("URI", URI); //Optional property
connectionInfo.setAttributes(propertyBag);
// Set database username and password
// NOTE: Even if the username and password properties do not change
// when switching databases, the
// database password is *not* saved in the report and must be set at
// runtime if the database is secured.
connectionInfo.setKind(ConnectionInfoKind.SQL);
connectionInfo.setUserName(DB_USER_NAME);
connectionInfo.setPassword(DB_PASSWORD);
// Update the table information
clientDoc.getDatabaseController().setTableLocation(origTable,newTable);
Also i tried with replaceConnection() method...........it displayed the report, but with not column names and data
need help regarding.......
Edited by: abhishek.c1984 on Jun 25, 2009 10:02 AMIn the report i have two tables.............so before changing the database properties for each table iam printing their names.
The names are dispalyed correctly.......but once i set the table location...i.e through the following method..
clientDoc.getDatabaseController().setTableLocation(tables.getTable(i),newTable);
every time i can see only one table i.e. properties are set for the first table ........and each time the properties are being set for the first table only.....i dont no what is happening to the rest of the tables..
I have posted the method in the above post.....can any one please trace out the problem
Note: when i comment the following code, i can see all the tables
clientDoc.getDatabaseController().setTableLocation(tables.getTable(i),newTable);
when i uncomment it, i can see only first table repeating every time...
Edited by: abhishek.c1984 on Jun 25, 2009 1:03 PM -
Problem while changing Business Area in Cost Center Master Data
I am having a problem while changing the Business area in cost center master data, the system does not allow to change the business area due to the following reasons;
1. The transactional data already exists for that cost center
2. The desired date required to be changed, falls between analysis period 01.01.2000 to 31.12.2999
Can anyone help me in order to reslove this issue
Thanking in anticipation
Edited by: Arshad Iqbal on May 24, 2010 2:10 PMDear Dejan !!
Thanks a lot for resolving my problem actaully i have tested the scenario in Testing Server by changing the fiscal year and the system allowed to change the business area before any transactional data posted.
Thanks Once Again
Regards
Ch. Arshad Iqbal -
Error while changing the physical IP address of SOA related datasource
Hello Everyone!!!
I am facing a problem while changing the ip address of my SOA related datasource in weblogic 10.3,Below is a brief description about my prb:
I have created a domain in weblogic 10.3 and have configured a datasource to it and its working fine initially.
But i had to change the ip address of my datasource(i.e Edit the existing the setting of my domain) as my database was migrated to another m/c.The changes that i did was,I changed the url in the connectionpool tab of each of the datasource's listed in admin console(Please let me know if i have left out any other important place in which i had to make this change).
After making this change my ManagedServer starts but my Enterprise Application named soa-infra doesnt start and when i checked the log to find out the error,this is what i came across:
B2B-50025: Repository error: Error -: B2B-51572: Error reading input stream.: java.io.IOException: Stream closed
at oracle.tip.b2b.init.Repository.initExchange(Repository.java:658)
at oracle.tip.b2b.init.Repository.initialize(Repository.java:764)
at oracle.tip.b2b.init.B2BServer.readRepository(B2BServer.java:509)
at oracle.tip.b2b.init.B2BServer.initialize(B2BServer.java:212)
at oracle.tip.b2b.engine.ThreadWorkExecutor.startB2B(ThreadWorkExecutor.java:345)
at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:203)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:105)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: Error -: B2B-51572: Error reading input stream.: java.io.IOException: Stream closed
Any suggestion would be of great help.
Thks in advance!!!Hey thks for the reply,
We were able to solve the problem by just restarting our database,
i got some reference from the below link(pls refer to this topic:Changing the IP Address of a Metadata Repository Installation):
[http://download.oracle.com/docs/cd/E12839_01/core.1111/e10105/host.htm#CHDHAEFE]
but m still confused do i have to restart my database server each time i change the DB server that m pointing to in my weblogic console and if yes can you pls help me understand what change happens when the database restarts that makes this work.
Another issue that m facing now is that after solving the above prb(by restarting the DB) m not able to deploy process's on to my server.
The Exception that appears in the log file is as follows:
[2011-02-08T13:03:33.220+05:30] [soa_server1] [ERROR] [] [oracle.soa.bpel.engine.compiler] [tid: [ACTIVE].ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 0000Is4C5SLBLA1LzuP5iW1DKEXf000d33,0] [APP: soa-infra] [dcid: d61ccdb1526887f2:678e40b9:12e040e4cba:-7ffd-000000000000290f] <BPEL1Processor::generateProcessClass> MerchantSales_BPELProcess.bpel(line 228): invalid query[[
query "/EmailPayload/ns3:FromAccountName" is invalid, because java.lang.IllegalArgumentException: null schema location for ns=http://xmlns.oracle.com/ias/pcbpel/NotificationService [Cause=null schema location for ns=http://xmlns.oracle.com/ias/pcbpel/NotificationService]
Check the XML schema and make sure your query string is valid
[2011-02-08T13:03:33.448+05:30] [soa_server1] [ERROR] [] [oracle.soa.bpel.engine.deployment] [tid: [ACTIVE].ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 0000Is4C5SLBLA1LzuP5iW1DKEXf000d33,0] [APP: soa-infra] [dcid: d61ccdb1526887f2:678e40b9:12e040e4cba:-7ffd-000000000000290f] <CubeProcessLoader::create> [[
java.lang.Exception: BPEL compilation failed
at com.collaxa.cube.lang.compiler.BPEL1Processor.generateProcessClass(BPEL1Processor.java:529)
at com.collaxa.cube.lang.compiler.BPEL1Processor.loadProcess(BPEL1Processor.java:495)
at com.collaxa.cube.lang.compiler.BPEL1Processor.loadProcess(BPEL1Processor.java:438)
at com.collaxa.cube.lang.compiler.BPEL1Processor.createCubeProcess(BPEL1Processor.java:396)
at com.collaxa.cube.engine.deployment.CubeProcessFactory.create(CubeProcessFactory.java:61)
at com.collaxa.cube.engine.deployment.CubeProcessLoader.create(CubeProcessLoader.java:112)
at com.collaxa.cube.engine.deployment.DeploymentManager.deployProcess(DeploymentManager.java:238)
at com.collaxa.cube.engine.deployment.DeploymentManager.deployComponent(DeploymentManager.java:182)
at com.collaxa.cube.ejb.impl.CubeServerManagerBean._deployOrLoadComponent(CubeServerManagerBean.java:726)
at com.collaxa.cube.ejb.impl.CubeServerManagerBean.deployComponent(CubeServerManagerBean.java:114)
at com.collaxa.cube.ejb.impl.bpel.BPELServerManagerBean.deployComponent(BPELServerManagerBean.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) -
ABAP Dump while Changing the Layout fields in Report output - RCOPCA02
Hi,
I Copied the Standard Program RCOPCA02 to ZRCOPCA02. I added two new fields(AUART, AUGRU) in the report output. It is executing correctly with default layout, While Changing the layout for displaying new fields it is dumping.
I am not understanding, What should i do...
Here is the Code.
report ZRCOPCA02 no standard page heading message-id km
line-count (2) line-size 81.
type-pools: slis, ecarc.
DDIC-Tabellen *******************************************************
tables: glpca, "Einzelposten / Ist
glu1, "Übergabestruktur FI-SL-Anzeige
t000,
tka01,
sscrfields,
vbak.
Variablen und int. Tabellen *****************************************
data: l_vbeln like vbak-vbeln,
l_auart like vbak-auart,
l_augru like vbak-augru.
data: afield type slis_fieldcat_alv,
sp_group type slis_sp_group_alv,
t_listheader type slis_t_listheader with header line,
t_layout type slis_layout_alv,
t_fieldcat type slis_t_fieldcat_alv,
t_spec_groups type slis_t_sp_group_alv,
event type slis_alv_event,
t_events type slis_t_event,
g_variant like disvariant,
gx_variant like disvariant,
g_exit(1) type c,
g_save(1) type c,
g_repid like sy-repid,
msgtyp like sy-msgty,
lt_dynpread like dynpread occurs 1 with header line,
ls_rpcak like rpcak, "note 0310592
packsize type i value 1000,
text1(60) type c,
text2(60) type c,
oldkokrs like glpca-kokrs,
oldracct like glpca-racct.
data: whr_size type i value 50,"Maximum of single values per MIC 46a
"charact. in the where-clause of the select-statement
lines type i, "number of lines of range table MIC 46a
cnt_rldnr type i, "Zähler Anzahl selektierter Ledger
cnt_kokrs type i, "Zähler Anzahl selektierter KoReKreise
cnt_poper type i, "Zähler Anzahl selektierter Perioden
cnt_ryear type i, "Zähler Anzahl selektierter GeschJahre
cnt_rvers type i, "Zähler Anzahl selektierter Versionen
cnt_bukrs type i, "Zähler Anzahl selektierter BuKreise
empge like dkobr-empge,
ksl_curr like tka01-pcacur,
hsl_curr like t001-waers,
a_rec like rstirec.
data: begin of dim_data.
include structure rgcdi. "data for dimensions
data: end of dim_data.
data: begin of tab_fields occurs 80,
name like dntab-fieldname, "fields in table i_glpca
end of tab_fields.
data: begin of i_glpca occurs 0.
include structure rpca2.
data: racct_ktext like rpcak-ktext,
psppp like prps-posid,
v_auart like vbak-auart,
v_augru like vbak-augru,
end of i_glpca.
data: rw_subrc like sy-subrc, "Flag: Report-Writer-Schnittstelle
re_subrc like sy-subrc, "Flag: Recherche-Schnittstelle
subrc like sy-subrc.
data: set_id like sethier-setid, "Set-ID "RDI_SETS_4.0
set_class like sethier-setclass, "Setklasse "RDI_SETS_4.0
set_sname like sethier-shortname."Setname (24) "RDI_SETS_4.0
data: authorised(1),
s_message(1),
auth_dbcount like sy-tabix,
Hex-Konstanten für Minimum/Maximum-Werte
begin of hex00,
x1(12) type c,
x2(12) type c,
end of hex00,
begin of hexff,
x1(12) type c,
x2(12) type c,
end of hexff.
ranges rclnt for glpca-rclnt.
field-symbols: type ecarc_glpca_curr.
Selektionsoptionen *************************************************
select-options:
rldnr for glpca-rldnr default '8A' no-display,
rassc for glpca-rassc no-display,
rrcty for glpca-rrcty default 0,
rrcty for glpca-rrcty,
rvers for glpca-rvers default '000',
kokrs for glpca-kokrs memory id cac,
bukrs for glpca-rbukrs memory id buk,
poper for glpca-poper default sy-datlo+4(2),
ryear for glpca-ryear default sy-datlo,
poper for glpca-poper,
ryear for glpca-ryear,
prctr for glpca-rprctr matchcode object prct,
pprctr for glpca-sprctr matchcode object prct,
RACCT FOR GLPCA-RACCT MATCHCODE OBJECT KART, "RD_P30K128304
racct for glpca-racct, "RD_P30K128304
drcrk for glpca-drcrk,
activ for glpca-activ,
rhoart for glpca-rhoart,
rfarea for glpca-rfarea,
stagr for glpca-stagr,
rtcur for glpca-rtcur,
runit for glpca-runit,
versa for glpca-versa no-display,
eprctr for glpca-eprctr no-display,
afabe for glpca-afabe no-display,
rmvct for glpca-rmvct no-display,
hrkft for glpca-hrkft no-display, "note 550972
sbukrs for glpca-sbukrs no-display, "note 550972
shoart for glpca-shoart no-display, "note 550972
sfarea for glpca-sfarea no-display, "note 550972
docct for glpca-docct,
docnr for glpca-docnr,
refdocct for glpca-refdocct,
refdocnr for glpca-refdocnr,
werks for glpca-werks,
repmatnr for glpca-rep_matnr matchcode object pca_shlp_rep_matnr,
rscope for glpca-rscope.
parameters: no_rrint no-display default ' '." skip "MICP40K066037
" report-report-interface
display variant ">>MICP40K039857
selection-screen begin of block 0 with frame title text-e01.
parameters: p_vari like disvariant-variant.
selection-screen comment 47(40) varname for field p_vari.
selection-screen end of block 0.
parameters log_grp(4) type c no-display default 'KE5Z'.
"<<MICP40K039857
ranges: v_racct for glpca-racct,
v_prctr for glpca-rprctr,
v_pprctr for glpca-sprctr.
Tabelle mit Werten aus den Berichts-Set vom Report-Writer *
data begin of val_tab occurs 50.
include structure rgciv.
data end of val_tab.
MICP30K166368
feldkatalog und interface für bb-schnittstelle rw MICP30K166368
MICP30K166368
"MICP30K166368
data begin of bbs_fieldtab occurs 20. "MICP30K166368
include structure rstifields. "MICP30K166368
data end of bbs_fieldtab. "MICP30K166368
archiv
type-pools: rsds.
types: begin of ty_archive_objects,
object like arch_obj-object,
end of ty_archive_objects,
ty_t_archive_objects type ty_archive_objects occurs 2.
constants: lc_set type c value 'X',
lc_report type progname value 'KE5Z',
lc_reporttype type reporttype value 'TR'.
tables: admi_files.
select-options lr_files for admi_files-archiv_key no-display.
parameter: read_db type c default 'X' no-display,
read_ar type c no-display,
arc_obj like arch_obj-object no-display,
read_as type c default 'X' no-display.
data : lt_arch_obj type ty_t_archive_objects with header line,
ls_selections type rsds_frange,
lt_selections type rsds_frange_t,
ls_selopt type rsdsselopt,
lt_glpca_archiv type ecarc_t_glpca_curr.
*********************************************************>>MICP40K039857
INITIALIZATION
initialization.
Diverse Initialisierungen
perform init_vars.
g_repid = sy-repid.
Set default values for record type
rrcty-sign = 'I'.
rrcty-option = 'EQ'.
rrcty-low = '0'.
append rrcty.
rrcty-low = '2'.
append rrcty.
Set default values for period and year (if kokrs or bukrs is known)
get parameter id 'BUK' field bukrs-low.
get parameter id 'CAC' field kokrs-low.
if kokrs-low is initial "get contr. area from company code
and not bukrs-low is initial.
call function 'KOKRS_GET_FROM_BUKRS'
exporting
i_bukrs = bukrs-low
importing
e_kokrs = kokrs-low
exceptions
no_kokrs_found = 1
others = 2.
if sy-subrc <> 0.
clear kokrs-low.
endif.
endif.
if not kokrs-low is initial.
call function 'K_KOKRS_READ' "get fiscal year variant
exporting
kokrs = kokrs-low
importing
e_tka01 = tka01
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
call function 'G_PERIOD_GET'
exporting
date = sy-datlo
variant = tka01-lmona
importing
period = poper-low
year = ryear-low
exceptions
ledger_not_assigned_to_company = 1
period_not_defined = 2
variant_not_defined = 3
others = 4.
if sy-subrc = 0.
poper-sign = 'I'.
poper-option = 'EQ'.
append poper.
ryear-sign = 'I'.
ryear-option = 'EQ'.
append ryear.
endif.
endif.
endif.
Settings for display variants
g_save = 'A'. "Schalter Varianten benutz./allg. speichern
clear g_variant.
g_variant-report = g_repid.
g_variant-log_group = log_grp.
g_variant-username = sy-uname.
Get default variant
gx_variant = g_variant.
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.
p_vari = gx_variant-variant.
endif.
Set variant
if p_vari is initial.
p_vari = '1SAP'.
move p_vari to gx_variant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = g_save
changing
cs_variant = gx_variant
exceptions
not_found = 1.
if sy-subrc ne 0.
clear p_vari.
clear gx_variant-variant.
endif.
endif.
varname = gx_variant-text.
"<<MICP40K039857
archiv
call function 'KARL_DATA_INPUT_INIT'
exporting
i_report = lc_report
i_reporttype = lc_reporttype
importing
e_xusedb = read_db
e_xusear = read_ar
e_archobj = arc_obj
e_infosys = read_as
tables
t_arch_sel = lr_files.
data: lt_excluding like sy-ucomm occurs 0 with header line.
call function 'RS_SET_SELSCREEN_STATUS'
exporting
p_status = 'SELSCREEN'
p_program = 'RCOPCA02'
tables
p_exclude = lt_excluding.
Initialisieren der Bericht/Bericht-Schnittstellen *
data: ld_no_rrint type boole_d. "note 490484 begin
import rri = ld_no_rrint from memory id 'RCOPCA02_NO_RRI'.
if ld_no_rrint = 'X'.
free memory id 'RCOPCA02_NO_RRI'.
else. "note 490484 end
call function 'G_REPORT_INTERFACE_INIT' "Report-Writer?
exporting "MICP30K166368
table = 'GLPCT' "MICP30K166368
importing
subrc = rw_subrc "MICP30K166368
tables "MICP30K166368
it_fieldr = bbs_fieldtab. "MICP30K166368
call function 'RSTI_APPL_STACK_POP'"oder Recherche?
importing
i_rec = a_rec
exceptions
appl_stack_not_initialized = 1.
re_subrc = sy-subrc.
if re_subrc = 0.
check Receiver is this report
if not ( ( a_rec-rtool = 'RT' and a_rec-ronam = 'RCOPCA02' )
or ( a_rec-rtool = 'TR' and a_rec-ronam = 'KE5Z' ) ) .
re_subrc = 2.
endif.
endif.
endif.
AT SELCTION-SCREEN on value request**********************************
*at selection-screen on value-request for racct-low. "RD "4.6a
"RD "4.6a
call function 'K_RACCT_VALUE_REQUEST' "RD "4.6a
importing "RD "4.6a
e_racct = racct-low. "RD "4.6a
"RD "4.6a
"RD "4.6a
*at selection-screen on value-request for racct-high. "RD "4.6a
"RD "4.6a
call function 'K_RACCT_VALUE_REQUEST' "RD "4.6a
importing "RD "4.6a
e_racct = racct-high. "RD "4.6a
at selection-screen on value-request for p_vari. "MICP40K039857
perform f4_for_variant. "MICP40K039857
at selection-screen on value-request for poper-low. "RD "4.6a
begin of insertion note 522715
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
end of insertion note 522715
call function 'ECPCA_RPMAX_VALUE_REQUEST' "RD "4.6a
exporting "RD "4.6a
i_kokrs = kokrs-low "RD "4.6a
i_ryear = ryear-low "RD "4.6a
importing "RD "4.6a
e_rpmax = poper-low "RD "4.6a
begin of insertion note 522715
exceptions
table_empty = 1.
endif.
end of insertion note 522715
at selection-screen on value-request for poper-high. "RD "4.6a
begin of insertion note 522715
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
end of insertion note 522715
call function 'ECPCA_RPMAX_VALUE_REQUEST' "RD "4.6a
exporting "RD "4.6a
i_kokrs = kokrs-low "RD "4.6a
i_ryear = ryear-low "RD "4.6a
importing "RD "4.6a
e_rpmax = poper-high "RD "4.6a
begin of insertion note 522715
exceptions
table_empty = 1.
endif.
end of insertion note 522715
AT SELCTION-SCREEN ***************************************************
at selection-screen.
perform pai_of_selection_screen.
begin of insertion note 522715
if not kokrs-low is initial.
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc <> 0.
message e101(ki) with kokrs-low.
endif.
endif.
end of insertion note 522715
archiv
if sy-ucomm = 'FC01' or sy-ucomm = 'UCDS'
or sy-ucomm = 'ONLI' and read_ar = 'X'
and read_as is initial and lr_files[] is initial.
if lt_arch_obj[] is initial.
lt_arch_obj-object = 'PCA_OBJECT'. append lt_arch_obj.
lt_arch_obj-object = 'EC_PCA_ITM'. append lt_arch_obj.
endif.
call function 'KARL_DATA_INPUT_SELECT'
exporting
i_db_and_arc = lc_set
i_infosys_possible = lc_set
i_object_fixed = 'V'
i_documentation = 'KARL_DATA_INPUT_SEL_KE5YZ'
i_report = lc_report
i_reporttype = lc_reporttype
tables
t_objects = lt_arch_obj
t_arch_sel = lr_files
changing
c_xusedb = read_db
c_xusear = read_ar
c_archobj = arc_obj
c_infosys = read_as.
endif.
START-OF-SELECTION **************************************************
start-of-selection.
Default-Werte löschen, falls Aufruf über Recherche
oder Report-Writer erfolgt ist
if no_rrint is initial and ld_no_rrint is initial. "note 490484
if rw_subrc eq 0 or re_subrc eq 0.
refresh: rldnr, rrcty, rvers, kokrs, bukrs, poper, ryear,
racct, prctr, pprctr, drcrk, activ, rhoart, rfarea,
versa, afabe, eprctr,
v_racct, v_prctr, v_pprctr.
clear: rldnr, rrcty, rvers, kokrs, bukrs, poper, ryear,
racct, prctr, pprctr, drcrk, activ, rhoart, rfarea,
versa, afabe, eprctr,
v_racct, v_prctr, v_pprctr.
endif.
Parameter einlesen über Report-Writer-Schnittstelle *
if rw_subrc eq 0.
perform rw_get_parameters.
oder Parameter einlesen über Recherche-Schnittstelle *
elseif re_subrc eq 0.
perform re_get_parameters.
endif.
endif.
if read_db = 'X'. " read from DB (archiv)
Bewegungsdaten einlesen und puffern...................................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten selektieren'(p10).
Use dirty trick to mislead DB-optimizer
call function 'DB_DO_NOT_USE_CLIENT_INDEX'
exporting
value = sy-mandt
tables
mandttab = rclnt.
select (tab_fields) from glpca
client specified
package size packsize
APPENDING CORRESPONDING FIELDS OF TABLE i_glpcaO
into corresponding fields of table i_glpca
where rldnr in rldnr
and rrcty in rrcty
and rvers in rvers
and kokrs in kokrs
and rbukrs in bukrs
and ryear in ryear
and rassc in rassc
and hrkft in hrkft "note 550972
and sbukrs in sbukrs "note 550972
and shoart in shoart "note 550972
and sfarea in sfarea "note 550972
and racct in racct
and rprctr in prctr
and sprctr in pprctr
and poper in poper
and drcrk in drcrk
and activ in activ
and rhoart in rhoart
and rfarea in rfarea
and versa in versa
and eprctr in eprctr
and afabe in afabe
and rmvct in rmvct
and docct in docct
and docnr in docnr
and stagr in stagr
and rtcur in rtcur
and runit in runit
and refdocct in refdocct
and refdocnr in refdocnr
and werks in werks
and rep_matnr in repmatnr "RDIP40K020663
and rscope in rscope "RDIP40K020663
and rclnt in rclnt. "dirty trick to mislead DB-optimizer
if sy-dbcnt > 1.
text1 = sy-dbcnt.
condense text1.
concatenate text1 text-m01 into text2 separated by space.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = text2. " ... Datensätze gelesen
endif.
endselect.
Entfernt nicht zugehörige Einträge....................................
loop at i_glpca where ( not rprctr in v_prctr )
or ( not sprctr in v_pprctr )
or ( not racct in v_racct ).
delete i_glpca.
endloop.
endif.
*archiv
if read_ar = 'X' and not
( read_as is initial and lr_files[] is initial ).
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Lesen im Archiv'(p12).
define fill_lt_selections.
if not &2[] is initial.
clear ls_selections.
move &1 to ls_selections-fieldname.
loop at &2.
clear ls_selopt.
move-corresponding &2 to ls_selopt.
append ls_selopt to ls_selections-selopt_t.
endloop.
append ls_selections to lt_selections.
endif.
end-of-definition.
fill_lt_selections 'RLDNR' rldnr.
fill_lt_selections 'RRCTY' rrcty.
fill_lt_selections 'RVERS' rvers.
fill_lt_selections 'KOKRS' kokrs.
fill_lt_selections 'RBUKRS' bukrs.
fill_lt_selections 'POPER' poper.
fill_lt_selections 'RYEAR' ryear.
fill_lt_selections 'RPRCTR' prctr.
fill_lt_selections 'SPRCTR' pprctr.
fill_lt_selections 'RACCT' racct.
fill_lt_selections 'DRCRK' drcrk.
fill_lt_selections 'ACTIV' activ.
fill_lt_selections 'RHOART' rhoart.
fill_lt_selections 'RFAREA' rfarea. "note 401961
fill_lt_selections 'STAGR' stagr.
fill_lt_selections 'RTCUR' rtcur.
fill_lt_selections 'RUNIT' runit.
fill_lt_selections 'VERSA' versa.
fill_lt_selections 'EPRCTR' eprctr.
fill_lt_selections 'AFABE' afabe.
fill_lt_selections 'RMVCT' rmvct.
fill_lt_selections 'DOCCT' docct.
fill_lt_selections 'DOCNR' docnr.
fill_lt_selections 'REFDOCCT' refdocct.
fill_lt_selections 'REFDOCNR' refdocnr.
fill_lt_selections 'WERKS' werks.
fill_lt_selections 'REP_MATNR' repmatnr.
fill_lt_selections 'RSCOPE' rscope.
fill_lt_selections 'HRKFT' hrkft. "note 550972
fill_lt_selections 'SBUKRS' sbukrs. "note 550972
fill_lt_selections 'SHOART' shoart. "note 550972
fill_lt_selections 'SFAREA' sfarea. "note 550972
call function 'EC_PCA_SELECT_FROM_ARCHIVE'
exporting
i_selections = lt_selections[]
i_files_sequential_read = lr_files[]
importing
e_glpca = lt_glpca_archiv[]
exceptions
no_infostruc_found = 1.
if sy-subrc = 1.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
clear i_glpca.
loop at lt_glpca_archiv assigning to i_glpca.
append i_glpca.
endloop.
endif.
if i_glpca[] is initial. "Info,nichts gefunden
message s000.
exit.
endif.
get texts for accounts ...............................................
sort i_glpca by kokrs racct.
loop at i_glpca assigning -racct_ktext = ls_rpcak-ktext.
endloop.
Liste mit Einzelposten geeignet sortieren.............................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten sortieren'(p30).
if show_ref is initial.
sort i_glpca by rldnr ryear rbukrs rrcty rvers
docct docnr docln.
else.
sort i_glpca by rldnr kokrs ryear rbukrs rrcty rvers poper
refdocct refdocnr refdocln.
endif.
Berechtigungsprüfung und gemerkte Belege aufbereiten .................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Berechtigungsprüfungen'(p40).
clear: cnt_rldnr, cnt_kokrs, cnt_ryear, cnt_rvers, cnt_bukrs.
loop at i_glpca assigning .
Berechtigungscheck
perform check_repo_authority changing authorised.
if authorised is initial.
delete i_glpca.
s_message = 'X'.
zählen der Sätze ohne Berechtigung
auth_dbcount = auth_dbcount + 1.
else. "Weitere Bearbeitung nur für berechtigte Belege...
Zusätzlich merken der Anzahl der Ausprägungen
bestimmter Dimensionen
on change of -rbukrs
ct = '10'
importing
currency = hsl_curr.
endon.
externe Immobilienbezeichnung "ww/kb
on change of i_glpca-imkey.
if ( not -dabrz
I_length = 20
importing
e_empge = -konty.
endif.
CONCATENATE I_GLPCA-KONTY I_GLPCA-EMPGE INTO I_GLPCA-IMBEZ.
endif.
endon.
on change of i_glpca-dabrz.
call function 'REMD_IMKEY_TO_EMPGE'
exporting
i_imkey = i_glpca-imkey
i_dabrz = i_glpca-dabrz
i_length = 20
importing
e_empge = i_glpca-empge
e_konty = i_glpca-konty.
CONCATENATE I_GLPCA-KONTY I_GLPCA-EMPGE INTO I_GLPCA-IMBEZ.
endon.
Konvertierungsproblem mit PSP-Nummer bereinigen
if not -psppp.
endif.
endif.
Währungen in Hilfsfeldern speichern
if -ksl_curr = ksl_curr.
endif.
modify i_glpca.
endif.
endloop.
Nachricht, wenn nicht alle Einzelposten angezeigt werden.
if not s_message is initial.
message s407(km) with auth_dbcount.
endif.
EP ausgeben...........................................................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten ausgeben'(p50).
t_layout-detail_initial_lines = 'X'.
t_layout-detail_popup = 'X'.
t_layout-f2code = 'PIC1'. "MICP40K039857
t_layout-get_selinfos = 'X'.
t_layout-group_change_edit = 'X'. "note 576149
perform fill_listheader.
perform fieldcat_fill.
perform spec_groups_fill.
perform events_fill. "MICP40K039857
">>MICP40K039857
call function 'K_KKB_LIST_DISPLAY'
exporting
i_callback_program = 'RCOPCA02'
i_callback_user_command = 'USR_CMD'
i_callback_top_of_page = 'TOP_OF_PAGE'
I_CALLBACK_END_OF_PAGE =
I_CALLBACK_END_OF_LIST =
i_callback_pf_status_set = 'SET_PF_STATUS'
I_CALLBACK_LAYOUT_SAVE =
I_CALLBACK_FIELDCAT_SAVE =
i_tabname = 'I_GLPCA'
is_layout = t_layout
it_fieldcat = t_fieldcat
I_FCTYPE = 'R'
IT_EXCLUDING =
it_special_groups = t_spec_groups
IT_SORT =
IS_SEL_HIDE =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
tables
t_outtab = i_glpca
exceptions
others = 1.
loop at i_glpca.
select single vbeln auart augru
into (l_vbeln, l_auart, l_augru)
from vbak where vbeln = i_glpca-aubel.
if sy-subrc = 0.
move l_auart to i_glpca-v_auart.
move l_augru to i_glpca-v_augru.
modify i_glpca.
endif.
endloop.
call function 'REUSE_ALV_GRID_DISPLAY'
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
i_callback_program = 'ZRCOPCA02'
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USR_CMD'
i_structure_name = 'I_GLPCA'
is_layout = t_layout
it_fieldcat = t_fieldcat
IT_EXCLUDING =
it_special_groups = t_spec_groups
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = g_save
is_variant = g_variant
it_events = t_events
IT_EVENT_EXIT =
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = i_glpca
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
"<<MICP40K039857
clear i_glpca.
*& Form CHECK_REPO_AUTHORITY
Check only new auth-object K_PCA *
--> p1 text
<-- p2 text
form check_repo_authority changing authorized like authorised.
fill structure for userexit in K_PCA_RESP_AUTHORITY_CHECK
data: auth like pca_i_auth. "46a MIC check K_PCA and G_GLTP
auth-bukrs = -rrcty.
clear authorized.
check PrCtr/account/activity
call function 'K_PCA_RESP_AUTHORITY_CHECK'
exporting
i_kokrs = -racct
i_vorgn = 'REPP'
i_actvt = '28'
i_auth = auth
i_no_dialog_message = 'X'
exceptions
no_authority = 1
data_missing = 2
others = 3.
if sy-subrc = 0. "ok
check ledger/version/record type
call function 'PCA_G_GLTP_AUTH_CHECK'
exporting
rldnr = -rrcty
exceptions
no_authorisation = 1
others = 2.
if sy-subrc = 0. "ok, User is authorized
authorized = 'X'.
endif.
endif.
endform. " CHECK_REPO_AUTHORITY
*& Form INIT_VARS
Initialisieren diverser Hilfsvariablen und -tabellen *
form init_vars.
data begin of nametab occurs 80. "Tabelle mit Feldern aus der RPCA2
include structure dntab.
data end of nametab.
select single * from t000
client specified
where mandt = sy-mandt.
refresh nametab.
call function 'NAMETAB_GET'
exporting
only = 'T'
tabname = 'RPCA2'
tables
nametab = nametab.
Übernehmen der Feldnamen, die auch in der GLPCA
vorkommen.
loop at nametab where fieldname ne 'KSL_CURR'
and fieldname ne 'HSL_CURR'
and fieldname ne 'EMPGE' "ww/kb
and fieldname ne 'KONTY'. "ww/kb
move nametab-fieldname to tab_fields-name.
append tab_fields.
endloop.
fill Fields of receiver for BBS "MIC46C
call function 'RSTI_REPORT_FIELDS_FIND'
exporting
e_repid = 'RCOPCA02'
e_type = 'R'
tables
it_fields = bbs_fieldtab.
correct fieldnames
read table bbs_fieldtab with key rfield = 'PRCTR'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'RPRCTR'.
modify bbs_fieldtab index sy-tabix.
endif.
read table bbs_fieldtab with key rfield = 'PPRCTR'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'SPRCTR'.
modify bbs_fieldtab index sy-tabix.
endif.
read table bbs_fieldtab with key rfield = 'BUKRS'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'RBUKRS'.
modify bbs_fieldtab index sy-tabix.
endif.
Unicode
class cl_abap_char_utilities definition load.
clear hex00 with cl_abap_char_utilities=>minchar.
clear hexff with cl_abap_char_utilities=>maxchar.
endform. " INIT_VARS
FORM FILL_LISTHEADER *
List-Header in Abhängigkeit der selektierten Daten *
form fill_listheader.
read table i_glpca index 1.
if sy-subrc ne 0.
exit.
endif.
t_listheader-typ = 'S'.
t_listheader-key = 'Ledger '(h01).
if cnt_rldnr <= 1.
t_listheader-info = i_glpca-rldnr.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Kostenrechnungskreis'(h02).
if cnt_kokrs <= 1.
t_listheader-info = i_glpca-kokrs.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Buchungskreis '(h03).
if cnt_bukrs <= 1.
t_listheader-info = i_glpca-rbukrs.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Buchungsperiode '(h04).
if cnt_poper <= 1.
t_listheader-info = i_glpca-poper.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
if cnt_ryear <= 1.
t_listheader-typ = 'S'.
t_listheader-key = 'Geschäftsjahr '(h05).
t_listheader-info = i_glpca-ryear.
append t_listheader.
endif.
t_listheader-typ = 'S'.
t_listheader-key = 'Version '(h06).
if cnt_rvers <= 1.
t_listheader-info = i_glpca-rvers.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
endform. "fill_listheader
*& Form FIELDCAT_FILL
*& Aufbau des Feldkataloges für den K_KKB_LIST_DISPLAY, *
*& bzw REUSE_ALV_LIST_DISPLAY, *
*& weitere Infos enthält die FktBaustein-Doku *
form fieldcat_fill.
data: i type i value 0.
refresh t_fieldcat.
Ledger
if cnt_rldnr > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RLDNR'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
afield-key = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Satzart
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RRCTY'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
Version
if cnt_rvers > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RVERS'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Periode
if cnt_poper > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'POPER'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Geschäftsjahr
if cnt_ryear > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RYEAR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Referenzbelegtyp
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCCT'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Typ'(t01).
afield-seltext_m = 'Belegtyp'(t02).
afield-seltext_l = 'Ref.Belegtyp'(t03).
afield-outputlen = 3. "Platz für die Sterne der Zwischensummen
if not show_ref is initial.
afield-key = 'X'.
else.
afield-no_out = 'X'.
endif.
append afield to t_fieldcat.
Referenzbelegnummer
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCNR'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Refbeleg'(t04).
afield-seltext_m = 'Refbelegnr'(t05).
afield-seltext_l = 'Ref.Belegnummer'(t06).
if not show_ref is initial.
afield-key = 'X'.
else.
afield-no_out = 'X'.
endif.
appendHi Prabhu,
You are right, problem is with Field Catalog...
When I use FM 'REUSE_ALV_GRID_DISPLAY' it is dumping...
When i tried with FM 'REUSE_ALV_LIST_DISPLAY' it is working perfectly....
how can i use FM 'REUSE_ALV_GRID_DISPLAY' without dumping????
do i need to pass any thing in FM????
Here is the dump:
Runtime Errors MESSAGE_TYPE_X
Occurred on 12/21/2006 at 01:03:24
The current application triggered a termination with a short dump.
What happened?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
Error analysis
Short text of error message:
Technical information about the message:
Message classe...... "0K "
Number.............. 000
User, transaction...
Language key........ "E"
Transaction......... "SE38 "
Program............. "SAPLSLVC "
Screen.............. "SAPLSLVC_FULLSCREEN 0500"
Screen line......... 3
Information on where termination occurred
The termination occurred in the ABAP program "SAPLSLVC " in "LINE_OUT_NEW_2".
The main program was "ZRCOPCA02 ".
The termination occurred in line 918 of the source code of the (Include)
program "LSLVCF01 "
of the source code of program "LSLVCF01 " (when calling the editor 9180).
Source code extract
008880 gs_roid-row_id = rs_row-index * -1.
008890 endif.
008900 gs_roid-sub_row_id = rs_row-rowtype+7(10).
008910 gs_poid-row_id = gs_roid-row_id.
008920 gs_poid-sub_row_id = gs_roid-sub_row_id.
008930 gs_poid-rowtype = rs_row-rowtype.
008940 gs_poid-index = rs_row-index.
008950 insert gs_poid into table rt_poid.
008960 endif.
008970 append gs_roid to rt_roid.
008980
008990 loop at rt_fieldcat assigning <ls_fieldcat> where tech ne 'X' and
009000 no_out ne 'X'.
009010
009020 if gflg_invisible = 'X'.
009030 if <ls_fieldcat>-do_sum is initial.
009040 clear gflg_invisible.
009050 continue.
009060 else.
009070 clear g_col_counter.
009080 clear gflg_invisible.
009090 endif.
009100 endif.
009110
009120 clear gs_lvc_data.
009130 clear g_style.
009140
009150 assign component
009160 <ls_fieldcat>-fieldname of structure rt_data to <g_field>.
009170 if sy-subrc ne 0.
> message x000(0k).
009190 endif.
009200
009210 g_col_counter = g_col_counter + 1.
009220
009230 gs_lvc_data-row_pos = r_row_counter.
009240 gs_lvc_data-col_pos = g_col_counter.
009250 gs_lvc_data-row_id = gs_roid-row_id.
009260 gs_lvc_data-sub_row_id = gs_roid-sub_row_id.
009270
009280 * Endtotal and average
009290 if rs_row-rowtype(1) ca 'T' and <ls_fieldcat>-do_sum = 'C'.
009300 * save the actual grouplevel information
009310 gs_grouplevels = rs_grouplevels.
009320 clear g_lines.
009330
009340 * get number of lines of the collect table
009350 describe table rt_data lines g_lines.
009360 * if there is only one line or the field has no references so
009370 * that only the first line has to be considered
Thanks,
fractal
null -
Error in CV02N while changing the status.
Hi Experts,
We are getting a error while changing the status of technical change document that " Inconsistent characteristic value assignment" .The document is in status "in use" and we are trying to change it to " old version" using T code CV02N.
when I tried to see the error desription it is telling that delete the inconsistencies. But I didn't find the list of incosistencies. What may be the problem? Please help me out to get ride of this problem.
Thanks and best regards,
PraveenHi Pete,
The full text message: Inconsistent characteristic value assignment
Message no. C1821
In diagnosis it is telling that "You want to change the value assigned to a characteristic. However, the change causes inconsistency, so the new value is not allowed."
Actually I am just changing the status of the document. I am not changing any characteristic value.
Actually it is appearing as information message. but while saving it pop up and not allowing to save.
Please do the needful.
Best Regards,
Praveen -
Activation error while changing the data type of a field of a table
hi friends,
i am facing one problem while changing a data type of a field of a table.
i just created one table(Yqm32) .i have assigned charcter data type to one field(ztotal_count) .now i want to change this charcter data type to numeric data type.
while changing to NUMC data type activation error is comming as below.
Table is not yet classified
Field ZTOTAL_COUNT: Type change
ALTER TABLE is not possible
Structure change at field level (convert table YQM32)
Check on table YQM32 resulted in errors
Table YQM32 could not be activated
(E- Structure change at field level (convert table YQM32)
plz suggest.i need to change the data type from char to numc.
Thanks & RegardsHi Pabitra......
From the SE11 change the table as u wanted and then from menubar select
UTILITIES--> DATABASE UTILITY
It will open database utility
there u select the Activate and adjust database button.
then the database table will get adjusted.
just try it once.........
Suresh...... -
While Changing the status system gives error
Dear Experts,
In Solution Manger, While changing the status from Tcode SE38 with Program CRM_SOCM_SERVICE_REPORT system gives error.
Document 8000002519 refused for technical reasons: ERROR_FREE
Message no. SOCM_ACTION_LOG203
Diagnosis
The status value cannot be changed.
The document may no longer be modifiable as a result of its status, or it may be being edited by another user.
System Response
This change transaction is skipped during report processing.
Procedure
Analyze the corresponding document during transaction processing and perform the status change manually if necessary.
Also if i select the status as in process, then it executes sucessfully. Please help me in this.
Ramesh Jaiswal
9867936636Hi Ramesh,
Pls check your SP level because till SP17 this (CRM_SERV_REPORT) Tcode is not present
I just checked.
So it seems this is availabe only after SP18.... we can use the above report.
Kindly confirm once you solve your problem.
Dirk
Can you please tell us a document which wil tel us what technical things have been changed in this new SP18.for e.g the source for this information.
Regards
Prakhar -
Problem while dowloading the file from Application Server
Dear Experts,
I am facing the Problem while downloading the file from Application server.
We done the automatic function while saving the invoice, this will create an idoc, and this idoc is written in the Application Server.
I am running the Transaction AL11 and select the record, and from menu --> List, i am downloading into TXT format.
But for some segments, the length is long, and so the last 3 to 4 fields values are not appearing in the File. Even though i am unable to view the values in the file before downloading. But i can view in IDOC.
Please help me to solve this issue.
Thanks & Regards,
Srinibut our user will use the Txn. AL11 and they will download from there
Educate the user On a serious note, tell him this is not how data from app server should be downloaded. You can ask him to talk to the basis team to provide him access to the app server folder where the file is being stored.
I can set the Variant and put this in background, But always the file name will be change, Like we use Time stamp in the File name.
You can't automate this process by scheduling in BG mode. This is because the in BG mode you can't dwld the file to presentation server.
Hope i'm clear.
BR,
Suhas -
How to change the text in JTextField Dynamically
i am trying to change the contents of JTextField dynamically like this
textfield.setText();but it is giving error...........how can i do it....here is the code .....it is showing error in line 18 and 20 as identifier expected
their i am trying to make JTextField editable....
plz have a look
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.filechooser.*;
import javax.swing.SwingUtilities.*;
import javax.swing.filechooser.FileFilter;
//import javax.swing.JEditorPane;
import java.net.URL;
public class tm extends JFrame implements ActionListener
public JTextField[] programtext = new JTextField[30];
public JTextField[] tapetext = new JTextField[30];
tapetext.setEditable(true);
public JTextField[] statetext = new JTextField[30];
statetext.setEditable(true);
int count =0;
public static void main (String arg[]){
tm m=new tm();
m.setSize(1000,500);
m.show();
JButton loadp, run, step,loadi,loads;
public tm()
Container c ;
c = getContentPane();
c.setLayout(new FlowLayout());
loadi = new JButton("LOAD INPUT STRING");
c.add(loadi);
loadi.addActionListener(this);
loadi.setBounds(200,25,100,50);
loadp = new JButton("LOAD PROGRAM");
c.add(loadp);
loadp.addActionListener(this);
loadp.setBounds(300,25,100,50);
run = new JButton("RUN");
c.add(run);
run.addActionListener (this);
run.setBounds(400,25,100,50);
step = new JButton("STEP");
c.add(step);
step.addActionListener(this);
step.setBounds(500,25,100,50);
loads = new JButton("LOAD STATES");
c.add(loads);
loads.addActionListener(this);
loads.setBounds(600,25,100,50);
JPanel prog = new JPanel();
prog.setLayout(new GridLayout(30,1));
for(int i=0;i<programtext.length;i++)
programtext= new JTextField(10);
prog.add(programtext[i]);
JPanel tape = new JPanel();
tape.setLayout(new GridLayout(30,1));
for(int i=0;i<tapetext.length;i++)
tapetext[i]= new JTextField(10);
tape.add(tapetext[i]);
JPanel state = new JPanel();
state.setLayout(new GridLayout(30,1));
for(int i=0;i<statetext.length;i++)
statetext[i]= new JTextField(10);
state.add(statetext[i]);
JPanel contentPane3 = new JPanel();
contentPane3.setBorder(BorderFactory.createEmptyBorder(50, 50, 50, 50));
contentPane3.setLayout(new BorderLayout());
contentPane3.add(state, BorderLayout.CENTER);
contentPane3.add(c, BorderLayout.NORTH);
contentPane3.add(prog, BorderLayout.WEST);
contentPane3.add(tape, BorderLayout.EAST);
setContentPane(contentPane3);
public void actionPerformed(ActionEvent e)
try{
if(e.getSource ()==loadp)
JFileChooser chooser=new JFileChooser();
int r= chooser.showOpenDialog(this);
if(r==JFileChooser.APPROVE_OPTION )
String name=chooser.getSelectedFile().getName();
File f=chooser.getSelectedFile();
FileInputStream filestream = new FileInputStream(f);
BufferedInputStream bufferstream = new BufferedInputStream(filestream);
DataInputStream datastream = new DataInputStream(bufferstream);
String record = null;
programtext[0].setText("");
try {
int i = 0;
while (true)
record=datastream.readLine();
if(record == null){
break;
programtext[i].setText(record);
i++;
count = count + 1;
System.out.println ("the no of lines of the program are"+ count);
catch (Exception p)
System.out.println(p);
else if(e.getSource()==loads)
JFileChooser chooser3=new JFileChooser();
int r3= chooser3.showOpenDialog(this);
if(r3==JFileChooser.APPROVE_OPTION)
String name=chooser3.getSelectedFile ().getName();
File f3=chooser3.getSelectedFile();
FileInputStream filestream3 = new FileInputStream(f3);
BufferedInputStream bufferstream3 = new BufferedInputStream(filestream3);
DataInputStream datastream3 = new DataInputStream(bufferstream3);
String record3 = null;
statetext[0].setText("");
try {
int i = 0;
while (true)
record3=datastream3.readLine();
if(record3 == null){
break;
statetext[i].setText(record3);
i++;
catch (Exception p3)
System.out.println(p3);
else if(e.getSource()==loadi)
JFileChooser chooser2=new JFileChooser();
int r2= chooser2.showOpenDialog(this);
if(r2==JFileChooser.APPROVE_OPTION )
String name=chooser2.getSelectedFile().getName();
File f2=chooser2.getSelectedFile();
FileInputStream filestream2 = new FileInputStream(f2);
BufferedInputStream bufferstream2 = new BufferedInputStream(filestream2);
DataInputStream datastream2 = new DataInputStream(bufferstream2);
String record2 = null;
tapetext[0].setText("");
try {
int i = 0;
while (true)
record2=datastream2.readLine();
if(record2 == null){
break;
tapetext[i].setText(record2);
i++;
catch (Exception p2)
System.out.println(p2);
else if(e.getSource ()==run)
String temp="";
String statetemp=" ";
String tapetemp=" ";
int l=0;
int tp=0;
String pars[][] = new String[50][5];
for(int m=0;m<count;m++){
temp = programtext[m].getText();
String str[]=temp.split(" ");
for(int k=0;k<5;k++){
pars[m][k] =str[k];
System.out.println(pars[m][k]);
statetemp = statetext[0].getText();
tapetemp = tapetext[l].getText();
while(pars[tp][0]==statetemp && pars[tp][1]==tapetemp && tp><count)
statetemp = pars[tp][2];
tapetemp = pars[tp][3];
statetext[0].setText() = statetemp;
tapetext[tp].setText() = tapetemp;
if(pars[tp][4]=="R")
l=l+1;
else{
l=l-1;
tp++;
else if(e.getSource()==step)
catch(Exception t)
System.out.println(t); -
Problem while creating the Partner Address in CRM
Hi,
We are facing one problem while creating the new address for the Business Partner.
When ever customer wants to change the address : we are following one process : where we are
using 'BAPI_BUPA_ADDRESS_ADD' functin module. Becuse of this , new addrss number will be generated for the
corresponding account in BUT021_FS table.But this table contains old address number as a first record, so that when ever
we display the partner address in UI, it is displaying the old address only because first entry of the the table 'BUT021_FS'
contains the old address number.
Because of this , we are getting lots of complaints regarding this.
Can you please help on this ASAP.
Thanks & Regards
Pradeep.Try BAPI_BUPA_ADDRESS_CHANGE for address change followed by BAPI_TRANSACTION_COMMIT . It works.
-
Problem while reconciling the subcontracting purchase order
Dear Sir,
I am facing a problem while reconciling the subcontracting purchase order.
Scenario : My subcontract PO is for 3 Nos of part A(finished goods) & for which we sent 10 kg of child part B to the
Vendor.
We did the GR partially i.e. 1 Nos at a time against which child part B is consumed as 10/3= 3.333333kg.
After all the part are received, Vendors stock for part B still show 0.00000001kg. Hence we are not able to reconcile the
full quantity.
Is there a process to reconcile the remaining quantity. Please Advice.
Thanks in Advance,
Ritesh.Hi,
There are two ways of handling this.
1. TC:MB1B create a material document for reversing the vendor stock of 0.00000001kg using movement type 542.
2. TC:J1IFQ reconcile the challan w.r.t above material document.
3. TC:J1IF13 complete the challan
4. Stock of 0.00000001kg from the plant can be corrected by physical inventory process citing the reason
OR
Cancell the last material document & challan assignment. Redo the GR (you can change the quantity of child manually to 3.333334 Kg)
However, this situation can be avoided during MIGO itself. In the last GR when the system proposes child part quantity as 3.333333 Kg, you can change the quantity manually to 3.333334 Kg.
Regards,
Krishna A S V -
All default routing value has to be changed, while changed the work center in production order
Dear friends,
our client they want to change the work center in production order.according to production version work center also they are changed.so while change the WC,all the default value has be changed as per routing what we maintained in routing.At present we have to enter the manually change the W.C as well as set up time and operation time enter manually.Any other option to do the automatically capture value from routing while change in Work center in production order.pl help me on this.
Thanks&Regards
Sabhapathy RHi Rahul,
Thanks for reply. I am maintained in diff value maintained routing , Ex :First routing i have work center 'X' value maintained as a setup time in 15 Min's and operation time 10 Min's
second work center 'Y' I have maintained as set up time 10 Min's and operation time 30 Min's,
Now I want to change the work center in production order as a 'Y' so whatever value maintained in routing , it has to be changed automatically (10 min's and 30 Min's), but system will not change only old value only picked (15Min's AND 10 Min's).
Now I think you get to know what the client requirement, kindly do the need full.
Regards,
Sabhapathy R
Maybe you are looking for
-
Iweb navigation bar not working in Internet explorer 8
iweb 09 I published my site to the sites folder on my imac OSX 10.6.4 Built my own navigation bar and the links work fine in Safari & Firefox The only portion of the Nav bar that works in Explorer 8 is the Map Navigation which links to an external pa
-
Stor.E Art 3 recording TV from Satellite box
Does anyone know if you can record TV directly from a satellite box onto the stor.e art 3 I have tried but it just keeps saying error. Thank You
-
Wondering if something like this is possible... We have a UDF in Item Master Data that contains our "web site item code" an alternate itemcode we use for sales on our web site. Is it possible to add a UDF (call it WebCode) to the row level of a Sales
-
Qmaster Suddenly Stopped Working... why?!?!
Ok.. So I set up Qmaster yesterday to work across three macs.... two MBPs and one MacPro as the controller. Was working beautifully until this afternoon. Not sure what has changed, but now I can't set up the cluster in Qadministrator. I just did a fu
-
We are running PI 7.0 on SP10 and we are having a few problems in XI. This was quite a straight forward scenario IDOC to XI to File. We have a 10 min collection BPM in between and all messages within that 10 min interval write into one file as a sing