Want to capture the exception in webservice?..
Hi,
I have written a BAPI within the MAIN function module for Asset creation. Suppose if the asset is not created due to some invalid data i dont want to use the BAPIRET2 structure for Exception handling, but i want to capture on the MAIN function module EXCEPTIONS.
Note: EvenIf the BAPI fails the sy-subrc is 0.
Please suggest.
Regards,
Neslin.
Hi Neslin,
the following content may help you
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/107aeaf2-540f-2a10-4286-a03955f5274c
if helpful reward points are appreciated
Similar Messages
-
Capture the exceptions from BW Bex Report in a class/interface
Hi....
I am trying to capture the exceptions defined in the BW BEx Reports in a class (superclass - CL_RSR_WWW_MODIFY_TABLE) in a variable or something.
This is actually to change the properties of a table in Web Applcn. acc to the exceptions by altering the cell content in the class(Transaction - SE80).
Is it possible to store the exceptions in a variable in the class???Hi Smriti,
Exception and Exception Handling can be based on classes in ABAP Objects. In an exception situation, an exception is represented by an exception object
i.e. an instance of an exception class. Its attributes contain information about the
error situation. Exception classes can be defined both locally and globally. When a class based exception is raised, the system interrupts normal program flow and tries to navigate to the suitable handler.
An exception can only be handled if the causing statement(s) is enclosed in a TRY-ENDTRY block. If a exception occurs in a TRY block, the system first searches for a CATCH statement (which will handle the exception) in the same block and then step by step upwards in all enclosing TRY-ENDTRY blocks. If it finds one, it navigates to this handler, else if TRY-ENDTRY block is in a procedure, it then tries to propagate the exception to the calling program. After exception occurs, system searches through the listed exception handlers in specified order and executes first handler whose CATCH statement contains the relevant exception class or one of its superclasses.
PARAMETERS: p_num1 TYPE i,
p_num2 TYPE i.
DATA: gv_result TYPE i,
gv_text TYPE string,
Defining reference variables with reference to the common superclass *
CX_ROOT of all exception classes. *
z_ref_exc TYPE REF TO cx_root.
TRY.
gv_result = p_num1 / p_num2.
WRITE / gv_result.
For division by zero, the runtime system raises the exception *
cx_sy_zerodivide. This is handled in the CATCH block. The reference *
to the appropriate instance is stored in the data object z_ref_exc. *
CATCH cx_sy_zerodivide INTO z_ref_exc.
Handler can access the instance's exception text using the functional *
method GET_TEXT. *
gv_text = z_ref_exc->get_text( ).
MESSAGE gv_text TYPE 'I'.
ENDTRY.
Award points if found useful.
Regards
Indrajit -
I would want to capture the reference of memory of a generic component ?
I would want to capture the reference of memory of a generic component
example1 ->{javax.swing.JScrollPane@678 }
example2 ->{javax.swing.JTextField@577 }
ecc..
ThanksI would want to capture the reference of memory of a
generic component
example1 ->{javax.swing.JScrollPane@678 }
example2 ->{javax.swing.JTextField@577 }
ecc..
Thanksuse an Objectit is the closest thing in the language to a memory reference
all EventListeners have a getSource() method that yields an Object
Furthermore anything allocated with new descends from Object
For example, lets say you added the same ActionListener to 3 different buttons
You could test which button triggered the action as follows
Let e be the ActionEvent passed to the ActionPerformed method of an ActionListener
if (e.getSource().equals(jButtonOne)){; // jButton1 actions
} else if (e.getSource().equals(jButtonTwo)){;//jButton2 actions
} else if (e.getSource().equals(jButtonThree)){;//jButton3 actions
}The equals method of Object is the Java idiom for comparing memory references. -
Cannot capture the exception generated by EJB components.
Hi, All:
I got a strange problem when developing EJB application under SAP WAS server. I developed an EJB as below:
public class UserAccountBean implements SessionBean{
String getUserEmail(String accountID) throws SAPSystemException{
if(error){
throw new SAPSystemException("Specified user not found.");
Exception I defined as below.
public class SAPSystemException extends Exception {
@param message
public SAPSystemException(String message) {
super(message);
In client side I code as below:
public String getUserMail(String accountID){
UserAccount bean = home.create();
try{
String email = bean.getUserEmail(accountID);
}catch(SAPSystemException e){
// do something here;
}catch(Exception e){
// do some other thing here;
It is strange that the SAPSystemException I throw out in the bean cannot be caught by the block catch(SAPSystemException e), it is only captured as general exception and it is said as UndeclaredThrowableException.
When I deployed EJB components and Web components together, the exception can be captured successfully. But when I deployed them separately, it has problem for exception capture. I think it must be the protocol problem. Before I only use RMI-IIOP but SAP WAS server using RMI-P4. Is anything I can do to solve this problem?
I packed the remote and home interface for the EJB and common classes like value objects and exceptions in both components. Is there anything I forgot to set for the deployment?
Thanks in advance.
Message was edited by: Weimin Guo
Message was edited by: Weimin GuoThank you very much Gregor. In fact, I already defined this throws exception in the remote object interface.
public interface UserAccount extends EJBObject {
public String getUserEmail(String accountID) throws RemoteException, SAPSystemException;
This is application-specific interface and this mechanism works well in my previous in other application server.
I checked the SAP document and found if you using RMI-IIOP, you need to get the client package for your deployed EJBs and put in the path accessible by the WEB components. Based on this suggestion, I put the EJB jar file together with WEB application (Sure the EJB application still deployed in other host and JNDI point to that host. I remembered one book mentioned that if you don't want generate the client package from EJB containter, you can do it this way. For me, I just haven't found the way to get the client package with Administrator Tool it said.), It works!!!. I checked the remote object generated by home object, it is different with EJB jar file there or not. But in the document SAP said that only if you use RMI-IIOP you need do this way, for RMI-P4, you don't need that. Anyway, it seems that RMI-P4 use same way as RMI-IIOP(You only don't need narrow the home object after lookup).
I'll try to find how to get EJB client package from WAS server. For this is my first time to use SAP WAS Server, things a little strange.
Thank you very much for your great help.
Cheers. -
I want to capture the remainder of a division operation
Hi,
I need to capture the remainder of a division operation. Ex : 33/9 remainder is 6. I want to know the way to capture the remainder. Can any body help me out.
Regards,
SrinivasHi,
MOD : Integer remainder of the division of the left by the right operand
Syntax
[COMPUTE] result = [+|-] operand1
[{+|-|*|/|DIV|MOD|**} [+|-] operand2
[{+|-|*|/|DIV|MOD|**} [+|-] operand3
In an arithmetic expression, you can use arithmetic operators to link an operand operand1 with one or more operands operand2, operand3, and so on; parentheses are possible. Arithmetic expressions can only be used in the COMPUTE statement. Each arithmetic expression has a calculation type.
Arunima -
Want To Capture The File name Using the SQL Loader
Hi,
I Am loading The Data To Staging Table Using The SQL*developer, The File That need to be Loaded Will be One Of The Input To the SQL*Loader Concurrent Program.
In One Of The Column Of My staging Table I want To Put The File name.
Can We do the Same.
thanks,
AnkitNot unless you generate the loader controlfile dynamically.. try this.. pass file name as $1 first parameter. Use the below example and modify as per your requirement
1) create table with following table structure
create table temp_table (x varchar2(20),file_name varchar2(30));
2) create data file - test.dat (contains only values for x)
abc
def
geh
ggg
fff
3) create a host file host file - test.sh with following content:
echo "load data
infile $1
append
into table temp_table
fields terminated by ','
(x,
file_name constant "$1")" > test.ctl
sqlldr <usr>/<pwd>control=test.ctl
4) run the host file from unix prompt with data file name as parameter (ensure test.sh has execute permissions)
test.sh test.dat
Hope this helps
Regards,
Bhadri -
To capture the error after processing LOGON function
Dear friends
I want to capture the exception after the execution of the LOGON function. Scenario i need to capture is when the user account been locked, password expired and password will expire in N days.
I made the user account locked and password expired through backend.
In the when-button-pressed trigger I make a call to the procedure where the Logon function is coded
Function P_CONNECT (io_message IN OUT varchar2)
Account_locked EXCEPTION;
Password_expired EXCEPTION;
Password_will_expire EXCEPTION;
PRAGMA Exception_Init (Account_locked, -28000);
PRAGMA Exception_Init (Password_expired, -28001);
PRAGMA Exception_Init (Password_will_expire, -28002);
begin
begin
Logon( L_username,
L_string,
FALSE);
exception
when Account_locked then
io_message := 'acc_loc';
return FALSE;
end;
if form_success then
/* code with certain activities*/
end if
end;
During the execution of this procedure, i tried to capture the account_locked for example. I couldnt.
Then I created on_error trigger at the form level. I couldnt able to capture as well.
Also I need the form errorcode (FRM 4....) equvalent to -28000. -28001, -28002.
Or any other suggestions are welcome
Thanks
SadaHi,
I got struck with the similar case. i.e.., if the user enters the login details incorrectly or login details are not provided then I've used exec_sql package. This package is been used to check whether a connection can be established or not. If the connection cannot be established then I'll pop up a message saying that the login details are incorrect.
Though my case is different than that of yours, but i think that this will give u some idea to kick start to your solution.
Regards,
Alok Dubey -
How to capture Java Exceptions in batch file
I have a batch file that calls java class. When the java class throws exception, how do I capture the exception as an error message in batch file.
This is the java program
import java.io.*;
public class Test{
public static void main(String []args) {
String wantThisToFail=null;
try {
if (wantThisToFail.equals("SomeString") ) {
System.out.println("Testing");
}catch (Exception e){
System.out.println("Exception " + e);
This is the batch file
@echo off
echo Testing
REM execute the java class
java Test
set deployError=%ERRORLEVEL%
echo %deployError%
IF NOT %deployError% == 0 (
echo failed
)else (
echo succeeded
)Since the java class throws NullPointerException, i want the batch file to show "Failed" Message.
Please Help!!Try capturing the return value of the command "java Test". If it succeeds, you should get a '0', otherwise you'll get something else. I admit it's been years since I had to do that, but it rings a bell. If it works, and you're on Java 5 or later, you can use the method Thread.setDefaultUncaughtExeptionHandler ( look at the docs ) and from there use System.exit(<your integer value return code here>) for more control over the return value
-
ALV Grid - capturing the data of checked records
Hi All,
I have a report with ALV Grid display and it displays the contents of a custom table. Each record has a CHBOX, and I want to capture the data of all checked records in to an internal table when 'create Order' button is pressed. Please help me.
Thanks,
Neelu.Hi neelu,
Find attached complete code for the check box in ALV
REPORT ZTESTPRG .
TABLES AND DATA DECLARATION.
*TABLES: mara,makt.",marc.
data syrepid like sy-repid.
data sydatum(10). " LIKE sy-datum.
data sypagno(3) type n.
WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE
GROUP (TYPE-POOLS--------->SLIS)
type-pools : slis.
INTERNAL TABLE DECLARATION.
INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE
data: begin of t_mara occurs 0,
matnr like mara-matnr,
meins like mara-meins,
mtart like mara-mtart,
matkl like mara-matkl,
end of t_mara.
INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE
data : begin of t_marc occurs 0,
matnr like mara-matnr,
werks like marc-werks,
minbe like marc-minbe.
data: end of t_marc.
INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.
data : begin of t_makt occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
spras like makt-spras,
end of t_makt.
INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.
data: begin of itab1 occurs 0,
chkbox(1) type c,
matnr like mara-matnr,
meins like mara-meins,
maktx like makt-maktx,
spras like makt-spras,
werks like marc-werks,
minbe like marc-minbe,
end of itab1.
THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT
AND THE LAYOUT FOR THE ALV.
HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE
WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT
OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.
THIS IS DONE TO MAKE THE CODE SIMPLER.
OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP
PROGRAMS.
IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR
MORE TABLES AND CREATE A STRUCTURE
IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS
LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.
data: fieldcatalog type slis_t_fieldcat_alv with header line,
fieldlayout type slis_layout_alv.
DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE
TOP-OF-PAGE ETC.
data : eventstab type slis_t_event with header line.
DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE
data : heading type slis_t_listheader with header line.
data : heading1 type slis_t_listheader with header line.
data : heading2 type slis_t_listheader with header line.
data : heading3 type slis_t_listheader with header line.
data : heading4 type slis_t_listheader with header line.
data : heading5 type slis_t_listheader with header line.
data : heading6 type slis_t_listheader with header line.
data : heading7 type slis_t_listheader with header line.
data : heading8 type slis_t_listheader with header line.
STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.
data : colorstruct type slis_coltypes.
INITIALIZATION. *
initialization.
syrepid = sy-repid.
sypagno = sy-pagno.
clear fieldcatalog.
START-OF-SELECTION. *
start-of-selection.
SUBROUTINE TO POPULATE THE COLORSTRUCT
perform fill_colorstruct using colorstruct.
SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE
perform populate_fieldcatalog.
SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE
INTERNAL TABLE.
perform selectdata_and_sort.
SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.
perform populate_layout using fieldlayout.
SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
perform merge_fieldcatalog.
SUBROUTINE TO POPULATE THE EVENTSTAB.
perform fill_eventstab tables eventstab.
SUBROUTINE TO POPULATE THE HEADING TABLES.
perform fill_headingtable tables heading using 'HEADING'.
perform fill_headingtable tables heading1 using 'HEADING1'.
perform fill_headingtable tables heading2 using 'HEADING2'.
perform fill_headingtable tables heading3 using 'HEADING3'.
perform fill_headingtable tables heading4 using 'HEADING4'.
perform fill_headingtable tables heading5 using 'HEADING5'.
perform fill_headingtable tables heading6 using 'HEADING6'.
perform fill_headingtable tables heading7 using 'HEADING7'.
perform fill_headingtable tables heading8 using 'HEADING8'.
SUBROUTINE TO DISPLAY THE LIST.
perform display_alv_list.
FORMS
IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES
OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND
COLUMN JUSTIFICATION.
form populate_fieldcatalog.
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MATNR' 'X' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MEINS' ' '.
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MAKTX' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MTART' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MATKL' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'SPRAS' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'WERKS' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MINBE' ' ' .
endform. " POPULATE_FIELDCATALOG
FORM FILL_FIELDS_OF_FIELDCATALOG *
--> FIELDCATALOG *
--> P_TABNAME *
--> P_FIELDNAME *
--> P_KEY *
--> P_KEY *
form fill_fields_of_fieldcatalog tables fieldcatalog
structure fieldcatalog
using p_tabname
p_fieldname
p_key.
p_no_out.
fieldcatalog-tabname = p_tabname.
fieldcatalog-fieldname = p_fieldname.
fieldcatalog-key = p_key.
fieldcatalog-emphasize = '1234'.
*fieldcatalog-no_out = p_no_out.
append fieldcatalog.
endform. " FILL_FIELDSOFFIELDCATALOG
FORM POPULATE_LAYOUT *
--> FIELDLAYOUT *
form populate_layout using fieldlayout type slis_layout_alv.
fieldlayout-f2code = '&ETA' .
fieldlayout-zebra = 'X'.
FOR THE WINDOW TITLE.
fieldlayout-window_titlebar = 'ALV with Events'.
fieldlayout-colwidth_optimize = 'X'.
fieldlayout-no_vline = ' '.
*fieldlayout-no_input = 'X'.
fieldlayout-confirmation_prompt = ''.
fieldlayout-key_hotspot = 'X'.
This removes the column headings if the flag is set to 'X'
fieldlayout-no_colhead = ' '.
*fieldlayout-hotspot_fieldname = 'MAKTX'.
fieldlayout-detail_popup = 'X'.
fieldlayout-coltab_fieldname = 'X'.
fieldlayout-box_fieldname = 'CHKBOX'.
fieldlayout-edit_mode = 'X'.
endform. " POPULATE_LAYOUT
FORM SELECTDATA_AND_SORT *
form selectdata_and_sort.
select matnr meins mtart matkl from mara
into corresponding fields of t_mara
up to 500 rows .
select matnr maktx spras from makt
into corresponding fields of t_makt
where matnr = t_mara-matnr and
spras = sy-langu.
select matnr werks minbe from marc
into corresponding fields of t_marc
where matnr = t_mara-matnr.
append t_marc.
endselect.
append t_makt.
endselect.
append t_mara.
endselect.
perform populate_itab1.
sort itab1 by matnr.
endform. " SELECTDATA_AND_SORT
FORM MERGE_FIELDCATALOG *
form merge_fieldcatalog.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = syrepid
i_internal_tabname = 'ITAB1'
i_structure_name = 'COLORSTRUCT'
I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = syrepid
changing
ct_fieldcat = fieldcatalog[]
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
endform. " MERGE_FIELDCATALOG
IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS
FOLLOWS:-
i_callback_program --> CALLING PROGRAM NAME
i_structure_name --> STRUCTURE NAME.
is_layout --> LAYOUT NAME.
it_fieldcat ---> BODY OF THE FIELD CATALOGUE INTERNAL TABLE
form display_alv_list.
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
i_callback_program = syrepid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
i_structure_name = 'ITAB1'
is_layout = fieldlayout
it_fieldcat = fieldcatalog[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD
TOOL BAR
i_save = 'A'
IS_VARIANT = ' '
it_events = eventstab[]
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 = itab1
exceptions
program_error = 1
others = 2.
endform. " DISPLAY_ALV_LIST
*& Form POPULATE_ITAB1
text
--> p1 text
<-- p2 text
form populate_itab1.
loop at t_mara.
loop at t_makt where matnr = t_mara-matnr.
loop at t_marc where matnr = t_mara-matnr.
move-corresponding t_mara to itab1.
move-corresponding t_makt to itab1.
move-corresponding t_marc to itab1.
append itab1.
endloop.
endloop.
endloop.
endform. " POPULATE_ITAB1
*& Form FILL_EVENTSTAB
text
-->P_EVENTSTAB text *
form fill_eventstab tables p_eventstab structure eventstab.
WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE
INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.
AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14
EVENTS NAME.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = p_eventstab[]
exceptions
list_type_wrong = 1
others = 2.
BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH
THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.
WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.
FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM
IS DYNAMICALY CALLED.
read table p_eventstab with key name = slis_ev_top_of_page.
if sy-subrc = 0 .
move 'TOP_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_top_of_coverpage.
if sy-subrc = 0 .
move 'TOP_OF_COVERPAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_coverpage .
if sy-subrc = 0 .
move 'END_OF_COVERPAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_foreign_top_of_page.
if sy-subrc = 0 .
move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_foreign_end_of_page.
if sy-subrc = 0 .
move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_list_modify.
if sy-subrc = 0 .
move 'LIST_MODIFY' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_top_of_list.
if sy-subrc = 0 .
move 'TOP_OF_LIST' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_page.
if sy-subrc = 0 .
move 'END_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_list .
if sy-subrc = 0 .
move 'END_OF_LIST' to p_eventstab-form.
append p_eventstab.
endif.
endform. " FILL_EVENTSTAB
*& Form FILL_HEADINGTABLE
text
-->P_HEADING text *
form fill_headingtable tables p_heading structure heading
using tablename.
case tablename.
when 'HEADING'.
p_heading-typ = 'H'.
concatenate
' REPORT NAME:-' syrepid
' ABB Industry Pte Ltd' into p_heading-info.
append p_heading.
write sy-datum using edit mask '__/__/____' to sydatum.
concatenate
' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno
into p_heading-info.
append p_heading.
when 'HEADING1'.
p_heading-typ = 'H'.
p_heading-info = 'TOP-OF-COVER-PAGE'.
append p_heading.
when 'HEADING2'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-COVER-PAGE'.
append p_heading.
when 'HEADING3'.
p_heading-typ = 'H'.
p_heading-info = 'FOREIGN-TOP-OF-PAGE'.
append p_heading.
when 'HEADING4'.
p_heading-typ = 'H'.
p_heading-info = 'FOREIGN-END-OF-PAGE'.
append p_heading.
WHEN 'HEADING5'.
P_HEADING-TYP = 'H'.
P_HEADING-INFO = 'LIST-MODIFY'.
APPEND P_HEADING.
when 'HEADING6'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-PAGE'.
append p_heading.
when 'HEADING7'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-LIST'.
append p_heading.
when 'HEADING8'.
p_heading-typ = 'H'.
p_heading-info = 'TOP-OF-LIST'.
append p_heading.
endcase.
endform. " FILL_HEADINGTABLE
FORM TOP_OF_PAGE *
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading[]
exceptions
others = 1.
endform.
*& Form FILL_COLORSTRUCT
text
-->P_COLORSTRUCT text *
form fill_colorstruct using p_colorstruct type slis_coltypes .
p_colorstruct-heacolfir-col = 6.
p_colorstruct-heacolfir-int = 1.
p_colorstruct-heacolfir-inv = 1.
endform. " FILL_COLORSTRUCT
FORM TOP_OF_COVERPAGE *
form top_of_coverpage.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading1[]
exceptions
others = 1.
endform.
FORM END_OF_COVERPAGE *
form end_of_coverpage.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading2[]
exceptions
others = 1.
endform.
FORM FOREIGN_TOP_OF_PAGE *
form foreign_top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading3[]
exceptions
others = 1.
endform.
FORM FOREIGN_END_OF_PAGE *
form foreign_end_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading4[]
exceptions
others = 1.
endform.
FORM LIST_MODIFY *
*FORM LIST_MODIFY.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEADING5[]
EXCEPTIONS
OTHERS = 1.
*ENDFORM.
FORM END_OF_PAGE *
form end_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading6[]
exceptions
others = 1.
endform.
FORM END_OF_LIST *
form end_of_list.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading7[]
exceptions
others = 1.
endform.
FORM TOP_OF_LIST *
form top_of_list.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading8[]
exceptions
others = 1.
endform.
*--- End of Program
Thanks
Mahesh -
Select statement to capture the vender address in SMARTFORM ?
Hi All,
I need help,i want to Capture the address and have to keep that address in vender address window of the smartform,
For this I want to show the field form LFA1 that are NAME1,STRAS,ORT01,ORT02,PSTLZ,REGIO.
I already kept address text for that but it is not collecting full Address and is collecing one field extra like "Republic Of India".
Please any body send me the Coad for THIS .....
Advence Thnks.Types: begin of TY_LFA1,
NAME1 type LFA1-NAME1,
STRAS type LFA1- STRAS,
ORT01 type LFA1- ORT01,
ORT02 type LFA1-,
PSTLZ type LFA1- PSTLZ,
REGIO type LFA1- REGIO,
End of TY_LFA1.
Data: WA_LFA1 type TY_LFA1.
Parameter: lifnr TYPE lifnr.
Select NAME1 STRAS ORT01 ORT02 PSTLZ REGIO
into corresponding fields of WA_LFA1
from LFA1
Where Lifnr = Lifnr.
If you are already getting Lifnr from some where remove the parameter statement and replace the where condition with the corresponding WA holding the lifnr value.
Now while calling your Smart Function Module.
add the WA in the Exporting part.
Eg:
CALL FUNCTION FM_NAME
EXPORTING
wa_lifnr = wa_lifnr.
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.IF SY-SUBRC <> 0.
Now you will be able to use the Vendor data on the smart form -
Capturing the text of a textfield to be used in another class
Hi Java Gurus. I have two classes called Login and Profile. In the Login class, a user will enter a username and password which is verified against a table stored in an oracle database. This works fine.
My problem is that when the user enters his/her username, I want to capture the username of the user so that I can make a reference to it from the Profile class.
You may wonder why I am doing this from the Profile class. Well, I want the user's profile to be uploaded after login and in order for me to do this, I am using the username in my SELECT statement from my Profile class to upload the profile of a specific user.
Thanks a lot in advance!Hi guys! Maybe none of you who have already viewed my problem understood what i meant, so i'll try to explain using some code snippets.
Login class;
public class Login extends JDialog implements ActionListener{
JLabel nameLabel;
JLabel passLabel;
JTextField name;
JTextField pass;
JButton okButton;
JButton cancelButton;
JPanel buttonPanel;
public Login(){
nameLabel = new JLabel("Username:");
passLabel = new JLabel("Password:");
name = new JTextField(10);
pass = new JTextField(10);
okButton = new JButton("Ok");
cancelButton = new JButton("Cancel");
buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout());
buttonPanel.add(okButton);
buttonPanel.add(cancelButton);
setSize(new Dimension(100,200));
setLayout(new GridLayout(1,5));
add(nameLabel);
//Add remaining components here and display dialog
public void connect(){
//connect to database here
public void ActonPerformed(ActionEvent evt){
//do events here
}Profile class;
public class Profile extends JPanel{
JLabel fnameLabel,lnameLabel,dobLabel;
JTextField fnameText,lnameText,dobText;
Login login;
public Profile(){
//initialize variables here
public void connect(){
//connect to database here
public void getProfile() {
String uname = login.name.getText();
String fname = "";
String lname = "";
String dob = "";
Statement stmt = null;
connect();
try {
stmt = conn.createStatement();
ResultSet result = stmt.executeQuery("SELECT Firstname,Lastname,DOB FROM Profile WHERE User_id ='"+uname+'" ");
if (result.next()) {
fname = result.getString("Firstname");
lname = result.getString("Lastname");
dob = result.getString("DOB");
if ((fname.length() != 0) && (lname.length() != 0)) {
fnameText.setText(fname); lnameText.setText(lname); dobText.setText(dob); validate();
repaint();
} catch (Exception ex) {
System.out.println(ex);
//JOptionPane.showMessageDialog(null, "Please enter your username\n
// and password", "Logon error", JOptionPane.INFORMATION_MESSAGE);
}So please i need your help..... -
Unable to capture the Idle time for BSP page
Hi Experts,
I want to capture the Idle time of my BSP page. If that is 5 mins then i have to display the pop up displaying the remaining time.
Please let me know how to capture the IDLE TIME. not the time after the page is loaded.
Any suggestion will be helpful.
Aready checked in SDN but unable to get the solution so posting it.
Thanks in advance.
Sravanthi.Vhi,
After capturing the idle time iam giving the warning popup to user before 5mins of expiry.Now my requirement is if the user clicks on OK button of popup the page should get refresh. i.e.Idle time should of system should break and we have to get one more hour for expiry.
Thanks in advance,
Sravanthi.V -
To capture the Mini-DV file through the 1394 firewire card from t
hii there!
first let mi make you understand what we people are doing ....
We people want to capture the Mini-DV file directly through the 1394 firewire card from the sony camcorder in to the MPEG2
format. Thent on the fly(i.e.during capturing into MPEG2) we also want to capture the metadata i.e (time,date etc. of the
original shooting event) into some text file. Our MPEG2 format requirements are: 8mbps viedeo,freq-48KHz,16 bit sterio,384
audio kbps, Deinterlace... we are using JavaMediaFramework-2.1.1e(Java Media Studio tool)..so we want to explore that tool
much more coz rightnow it's not supporting MPEG2(only supporting MPEG1) and also not supporting 1394 cpture card ...we want
the codec for converting DV-AVI to MPEG2 with date and time exctrated and much more explored details about JMf2.1.1 JavaMedia
Studio to get more familiar.....
for the above mentioned problem I am trying to add the mpeg2 codec inthe plugin of the jmf studio..and i have followed the
steps ..
Download the Codec from IBM
Extracted jmf.jar
Extracted codec.zip
Added files from codec folder to jmf folder
Made a jar out of it and name it jmf.jar
Replaced that with current jmf.jar (kept a backup)
Opened JMFRegistry and in "Plugins","Codec" and now unable to add " "
this becoz i am not knowing the exact way of recopiling that newly created jar file and because of that that mpeg-2 codedc is
not get added .....so i am looking forward for any help for the above mentioned problem!
I would be gratefull on getting ur help coz it's such challenging and techy concept to explore...
thanks..
nilesh hardikar
contact: [email protected]I understand your pain. See BUG ID 4640032: JMF does not support DSVD encoding
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4640032
Add your vote, maye Sun will hear! -
Need to capture the excise for the excise tab missing item in GR
Hi Masters
Our users has done MIGO with one line item(for Material A) with excise item tab and other line item(fro MAterial B) without excise item tab(non availability of Chapter ID).
They are able to capture excise in J1IEX for the first item only with the help of GR document.
But they want to capture the excise for the second line item?
When we process the same GR document in J1IEX once again it shows error that documeny has been already processed.
How to resolve this?
Regards
Mohanraj.CHi,
If u have done only GR for Both materials then Cancel ur GR and Post it again.
And if you have Done J1iex for first material then Cancel GR first then Cancel Excise Invoice.
Now to cancel Excise Invoice follow the path as
From the SAP Easy Access screen, choose Logistics ® Materials Management ® Inventory Management ® Goods Movement ® Goods Movement (MIGO).
In the top line:
Select Cancellation.
Select Material document.
Enter the number of the goods receipt that you want to cancel
Choose .
Flag all of the line items as OK.
Save the reversal document.
Reversing CENVAT Postings
From the SAP Easy Access screen, choose Indirect Taxes ® Procurement ® Excise Invoice ® Incoming Excise Invoices ® Individual Processing ® Change/Display/Post/Cancel.
In the top line:
Select Post CENVAT.
Select Vendor Excise Invoice.
Enter the excise invoice number.
Choose .
Choose Simulate CENVAT.
A dialog box appears, showing which postings the system will make to reverse the CENVAT.
To close the dialog box, choose .
Choose Post CENVAT.
Canceling Excise Invoices
From the SAP Easy Access screen, choose Indirect Taxes ® Procurement ® Excise Invoice ® Incoming Excise Invoices ® Individual Processing ® Change/Display/Post/Cancel.
In the top line:
Select Cancel.
Select Vendor Excise Invoice.
Enter the excise invoice number.
Choose .
Save the excise invoice
if Not solved then please specify that is error by system.
Regards,
Pardeep malik -
How to capture the cost on project of freely supplied components to vendors
Dear Friend's,
My client is sending some child components to their vendor's on free of cost basis to manufacture products like panels, tanks etc. for any particular Customer Project.
Once these products gets manufacured by vendor, they supply to client stores, from here my client is doing the delivery & billing to their customer's.
Here my client's requirement is that they wanted to capture the cost of free supplied child componenets to vendors for any particular project.
How i can capture this cost for any project..............Kindly give some input on this scenario to full fill the requirement.
Thanks & Regards,
Sandeep TheurkarDear Sandeep
How is the client "sending" the parts to the vendor?How are you maintaining the process of sending these parts to the vendor?
Are these parts maintained in the Organization's inventory?
Thanks and Regards
Maybe you are looking for
-
I have a Mac OS X (10.6.6) 2.3 GHz Intel Core i5 Memory 4GD 1333MHz DDR3 A while ago I eliminated mi icloud by mistake I´ve been trying to redownload or get it back but no luck. If you have any advice I would really appreciate it!!
-
OEM Problem in Communicating with Listener
Dear all, for some reason, my OEM is corrupted and when it's enabled, it messes up with the listener. I concluded the problem lies in OEM rather than in the listener since I can establish connection between SQLdeveloper and the server via the listene
-
Single Item Multi Level Planning to be triggered from Sales Order
Hi all, I am using strategy 50 and want planning for single item to be carried out at the time of sales order creation to avoid MRP run everytime sales order is created..In order to achieve it i checked Automatic Planning Indicator in "OVZG" for the
-
CSS Centered & Fixed Width Layout
I'm trying to use CSS for building a new layout and do so without resorting to the old methods, like using tables. But I can't even get past a very basic thing using Dreamweaver CS5.5. I want the page layout to be a fixed width yet centered in the br
-
Unable to configure CCMS alerts
Hi All, I'm trying to configure alerts in RZ20. e.g. whenever there is an error in Mapping (EXCEPTION_DURING_EXECUTE), I can see the alerts in rz20, but I cannot trigger an alert to Alert Inbox. I tried to follow the following weblog: /people/sap.use