Leave to screen Very Urgent
Hi...
How can I find selection screen's screen number or is there any command whivh can be leave user to selection screen again ..
hi,
u can try this code...
Selection screen number is default as 1000.
<b>data : begin of i_itab occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
end of i_itab.
parameters: p_matnr like mara-matnr.
select maramatnr maktmaktx into table i_itab from mara inner join makt
on maramatnr = maktmatnr where mara~matnr = p_matnr.
LOOP AT i_itab.
format hotspot on.
WRITE: / i_itab-matnr, i_itab-maktx.
hide: i_itab-matnr.
format hotspot off.
ENDLOOP.
at line-selection.
leave screen .</b>
Regards
SAB
Similar Messages
-
Need help to disable input selection-screen - very urgent
Hi SAP experts,
I have a requirement where in I need to disable ( Grey out ) the input fileds on the selection screen .
My problem is as I am using ABAP query I am not able to use any events ( AT SELECTION-SCREEN OUTPUT ).
My selection screen looks like this
MATERIAL NUMBER ( SELECT-OPTIONS)
MATERIAL TYPE ( PARAMETERS )
Now I want to add one more check box below the above fields on the selection-screen.When I click on the check-box,the MATERIAL NUMBER must be greyed out and MATERIAL TYPE should remain the same.
Please let me know the coding for the same. All answers would be rewarded.
Thanks in Advance,
Suresh.Hi,
Check out these codes.
1.
TABLES : mara, makt.
parameter: p_matnr type mara-matnr,
p_maktx type makt-maktx.
at selection-screen output.
select single maktx
from makt
into p_maktx
where matnr = p_matnr
and spras = 'EN'.
loop at screen.
if screen-name = 'P_MAKTX'.
screen-input = 0.
modify screen.
endif.
endloop.
2.
TABLES : mara, makt.
TYPES:BEGIN OF tp_maktx,
maktx TYPE makt-maktx,
END OF tp_maktx.
DATA:t_maktx TYPE STANDARD TABLE OF tp_maktx,
wa_maktx TYPE tp_maktx.
SELECT-OPTIONS: s_matnr FOR mara-matnr.
SELECT-OPTIONS: s_maktx FOR makt-maktx.
INITIALIZATION.
REFRESH s_maktx[].
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'S_MAKTX-LOW' or screen-name = 'S_MAKTX-HIGH'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
REFRESH s_maktx[].
if s_matnr[] is not initial.
SELECT maktx FROM makt
INTO TABLE t_maktx
WHERE matnr IN s_matnr
AND spras = 'EN'.
endif.
LOOP AT t_maktx INTO wa_maktx.
s_maktx-low = wa_maktx-maktx.
APPEND s_maktx.
CLEAR:wa_maktx.
ENDLOOP.
3.
TABLES : mara, makt.
parameter p_cb1 type c as checkbox.
parameter p_cb2 type c as checkbox.
parameter p_cb3 type c as checkbox.
initialization.
loop at screen.
if screen-name = 'P_CB3'.
screen-invisible = 1.
modify screen.
endif.
endloop.
at selection-screen output.
*loop at screen.
*if screen-name = 'P_CB3'.
*screen-invisible = 1.
*modify screen.
*endif.
*endloop.
loop at screen.
if p_cb1 = 'X'.
if screen-name = 'P_CB2'.
screen-invisible = 1.
modify screen.
endif.
if screen-name = 'P_CB3'.
screen-invisible = 0.
modify screen.
endif.
endif.
if p_cb2 = 'X'.
if screen-name = 'P_CB3'.
screen-invisible = 1.
modify screen.
endif.
if screen-name = 'P_CB1'.
screen-invisible = 0.
modify screen.
endif.
endif.
if p_cb3 = 'X'.
if screen-name = 'P_CB1'.
screen-invisible = 1.
modify screen.
endif.
if screen-name = 'P_CB2'.
screen-invisible = 0.
modify screen.
endif.
endif.
endloop.
Reward if helpful..
Regards. -
Customer Exits for Delivery & Goods Receipt - Very Urgent
Hi Everyone,
We have got a requirement where we have to trigger a screen exit/badi at the time of posting the material document in transaction MIGO or delivery document in VL01N, can any one tell me the right exit as this is very urgent.
Rgds,Hi,
Will you elaborate on this, I cant use call screen statement as this gives syntax errors, I have to necessarily use 'leave to' or 'call transaction', however using this above mentioned I wont have any scope for the variables which were there in the method of the BADI????,
Any help would be very much rewarded.
Rgds, -
Error while opening a module. plz help me, very urgent.
when i try to open a module, the following error message appears on my screen.
" no j2ee component found in d:\krisp\programs\servlets".
i've installed bea in c: drive and my servlet program is in d: drive.
plz help me, it's very urgent.Can you provide some more information? What were you doing when this happened?
Can you post the entire error message?
-- Rob
WLS Blog http://dev2dev.bea.com/blog/rwoollen/ -
Kludge to make less, vim et al. leave the screen uncluttered enjoy!
I have written a script which leaves the screen uncluttered when finishing less.
This script is written for bash in the "good old terminal", but works well with
iTerm too. I wrote this script because less is opposite of more as less is so
much more as more is so much less.
I hope you will use this script and reap the rewards of using less while reading
textfiles, gaining from less's features, avoiding the cluttering which may have
made you disliking using less. You can make a copy of the script and modify and wrap
the script around any other characterbased program which clutters your terminal screen.
The script works by beeing placed in your ~/bin which I assume is before
/usr/bin in your $PATH where the binary less resides. You must modify the paths
in the script if they are different from that. (both the binary less, the script,
and the kludge.scr)
The script installs an interrupthandler which are triggered by changing the
windowsize. The interupthandler figures out what it must do to preserve
your screen when you exit less, and just does so, except for four characters
to the extreme left on one line. (wich may well be part of your prompt).
The interrupthandler gets its work done, by calling a kludge which are
relatively referenced in the script from your homefolder, -presumes ~/bin
- YOU MUST EDIT THE SCRIPT OTHERWISE. The configuration is like it is because
that is what it takes to make the correct things happen in bash.
I think this could have been accomplished much easier using another shell,
but most people uses bash, especially newcomers, and they deserve to have
it as easy as possible, while reaping the productivity gains laying dormant
in the Unix core, so I hope you will share the script with you liberally,
if you think it is worth the time and the work it takes to "install" it.
I hope you will give this script a try, as to make less work comfortably for you,
I have included an environment variable with all settings I like in less, which
you may modify.
Less was the first program I had that made me think "wow" back in 1986, beeing used
to the "more" command, - which was, and is so much less than less. You can for instance
invoke BBedit with a file you are viewing in less by pressing "v" if you have BBedit
specified in the $EDITOR variable. You can pipe some text to the clipboard.
Or you can pipe some lines out of a document you are viewing in less and into
a file while viewing, you can load it with multiple files, and search them all,
a programemer can make less work with tagfiles; you can have less create a logfile
of what you read and, you can even scroll backwards. All in all less is a very handy
tool which I think everybody would gain from using,in opposite to more.
Especially when it leaves the screen uncluttered.
Great care have been taken in order to make this kludge work properly.
Still I MAKE ABSOLUTELY NO WARRANTIES ABOUT WHATSOEVER AND ANYTHING.
-USE IT AT YOUR OWN RISK.
You may do whatever you wish to do with it, aside from selling it alone, but you
are free to do whatever that you please with it, aside from distributing
malfunctioning copies or incomplete copies or tinker with the Copyright notice
in the scripts.
-------------------------------------------------- here comes the kludge for less - sends with you a tar as well. 8859 - encoded I think.
#! /bin/bash
# Less - lets us keep our screen nice even after resize, having used less or any other
# character based program - like vim, which may leave an unorderly screen.
# The fact that programs do clutter up the screen is because they probably didn't figure
# that we one day would be able to resize our terminals when they specified the standards at
# Ansi back in the 60's.
# Installing : put it together with "kludge.bash" in your $HOME/bin folder ( ~/bin ).
# its intended to work with the bash shell under MacOsX, the binary less is supposed
# to reside in /usr/bin, if it isnt; ("which less" reveals where), adjust the path.
# less - to be placed in the ~/bin folder is the wrap around less to make it behave
# Copyright 2008 Tommy Bollman Public Domain. -No WARRANTIES ABOUT WHAT SO EVER-
# Please do modify it for other programs which need helps with its cleanup as well.
# ~ is an expansion for your home directory aka /Users/John\ Doe
# Please document your version properly if you are posting it, relieving others.
export LESS=" -I -r -f -J -S -g -M -x 4"
# -I ignore case when searching
# -r "raw" do not preparate ctrl-chars,
# -f force open special files (may be binary) BEWARE OF ANSISEQUENCES.
# -J show status column
# -S chop long lines.
# -g highlight on last hit in the search.
# -M Most Verbose status column...
# -x 4 tabspacing = 4
# -------------------------------------- the screen handling starts here.................
ORIGLINES=$LINES
ESC=`printf "\e"`
ScreenRedraw_off=`echo -n "$ESC""[8m"`
ScreenRedraw_on=`echo -n "$ESC""[0m"`
function OkayScreen()
export PS1="" # Turns off the prompt to avoid cluttering..
echo -n ${ScreenRedraw_off}
CURLINES=`bash -i < ~/bin/kludge.bash `
# ^^^^^^^^^^^ NB! the path where kludge.bash should be placed.
if [ $CURLINES -gt $ORIGLINES ] ; then
TO_SKIP="$(expr "$CURLINES" '-' "$ORIGLINES")"
if [ $TO_SKIP -lt 3 ] ; then
TO_SKIP="$(expr "$TO_SKIP" '-' '2')"
else
TO_SKIP="$(expr "$TO_SKIP" '-' '1')"
fi
tput cuu 1 #cursor up one line
echo -n ${ScreenRedraw_on}
echo -n "\$####" #restores an erased '$' making only 3 chars disappear.
# ^ $ = prompt - $PS1. .(I have just a dollar here but if yours is longer,
# you can add the first four if it's static, and you'll loose nothing!!)
echo -n ${ScreenRedraw_off}
tput cud $TO_SKIP # move cursor to where it should be.
echo -n ${ScreenRedraw_on}
echo # activate the cli at correct position.
else
tput cuu 2
echo ${ScreenRedraw_on}
fi
trap OkayScreen SIGWINCH
/usr/bin/less $@
# ^^^^^^^^ NB! The path where the BINARY less is installed.
trap '' SIGWINCH
-------------------------------------------------------------------------------- and here is the kludge wich makes it all work!
#! /bin/bash
# kludge.scr - to be placed in the ~/bin folder is the inner workings of the bash script named less
# Copyright 2008 Tommy Bollman
PS1=""
shopt -s checkwinsize
echo $LINES
----><---------------------- EOF.I have written a script which leaves the screen uncluttered when finishing less.
This script is written for bash in the "good old terminal", but works well with
iTerm too. I wrote this script because less is opposite of more as less is so
much more as more is so much less.
I hope you will use this script and reap the rewards of using less while reading
textfiles, gaining from less's features, avoiding the cluttering which may have
made you disliking using less. You can make a copy of the script and modify and wrap
the script around any other characterbased program which clutters your terminal screen.
The script works by beeing placed in your ~/bin which I assume is before
/usr/bin in your $PATH where the binary less resides. You must modify the paths
in the script if they are different from that. (both the binary less, the script,
and the kludge.scr)
The script installs an interrupthandler which are triggered by changing the
windowsize. The interupthandler figures out what it must do to preserve
your screen when you exit less, and just does so, except for four characters
to the extreme left on one line. (wich may well be part of your prompt).
The interrupthandler gets its work done, by calling a kludge which are
relatively referenced in the script from your homefolder, -presumes ~/bin
- YOU MUST EDIT THE SCRIPT OTHERWISE. The configuration is like it is because
that is what it takes to make the correct things happen in bash.
I think this could have been accomplished much easier using another shell,
but most people uses bash, especially newcomers, and they deserve to have
it as easy as possible, while reaping the productivity gains laying dormant
in the Unix core, so I hope you will share the script with you liberally,
if you think it is worth the time and the work it takes to "install" it.
I hope you will give this script a try, as to make less work comfortably for you,
I have included an environment variable with all settings I like in less, which
you may modify.
Less was the first program I had that made me think "wow" back in 1986, beeing used
to the "more" command, - which was, and is so much less than less. You can for instance
invoke BBedit with a file you are viewing in less by pressing "v" if you have BBedit
specified in the $EDITOR variable. You can pipe some text to the clipboard.
Or you can pipe some lines out of a document you are viewing in less and into
a file while viewing, you can load it with multiple files, and search them all,
a programemer can make less work with tagfiles; you can have less create a logfile
of what you read and, you can even scroll backwards. All in all less is a very handy
tool which I think everybody would gain from using,in opposite to more.
Especially when it leaves the screen uncluttered.
Great care have been taken in order to make this kludge work properly.
Still I MAKE ABSOLUTELY NO WARRANTIES ABOUT WHATSOEVER AND ANYTHING.
-USE IT AT YOUR OWN RISK.
You may do whatever you wish to do with it, aside from selling it alone, but you
are free to do whatever that you please with it, aside from distributing
malfunctioning copies or incomplete copies or tinker with the Copyright notice
in the scripts.
-------------------------------------------------- here comes the kludge for less - sends with you a tar as well. 8859 - encoded I think.
#! /bin/bash
# Less - lets us keep our screen nice even after resize, having used less or any other
# character based program - like vim, which may leave an unorderly screen.
# The fact that programs do clutter up the screen is because they probably didn't figure
# that we one day would be able to resize our terminals when they specified the standards at
# Ansi back in the 60's.
# Installing : put it together with "kludge.bash" in your $HOME/bin folder ( ~/bin ).
# its intended to work with the bash shell under MacOsX, the binary less is supposed
# to reside in /usr/bin, if it isnt; ("which less" reveals where), adjust the path.
# less - to be placed in the ~/bin folder is the wrap around less to make it behave
# Copyright 2008 Tommy Bollman Public Domain. -No WARRANTIES ABOUT WHAT SO EVER-
# Please do modify it for other programs which need helps with its cleanup as well.
# ~ is an expansion for your home directory aka /Users/John\ Doe
# Please document your version properly if you are posting it, relieving others.
export LESS=" -I -r -f -J -S -g -M -x 4"
# -I ignore case when searching
# -r "raw" do not preparate ctrl-chars,
# -f force open special files (may be binary) BEWARE OF ANSISEQUENCES.
# -J show status column
# -S chop long lines.
# -g highlight on last hit in the search.
# -M Most Verbose status column...
# -x 4 tabspacing = 4
# -------------------------------------- the screen handling starts here.................
ORIGLINES=$LINES
ESC=`printf "\e"`
ScreenRedraw_off=`echo -n "$ESC""[8m"`
ScreenRedraw_on=`echo -n "$ESC""[0m"`
function OkayScreen()
export PS1="" # Turns off the prompt to avoid cluttering..
echo -n ${ScreenRedraw_off}
CURLINES=`bash -i < ~/bin/kludge.bash `
# ^^^^^^^^^^^ NB! the path where kludge.bash should be placed.
if [ $CURLINES -gt $ORIGLINES ] ; then
TO_SKIP="$(expr "$CURLINES" '-' "$ORIGLINES")"
if [ $TO_SKIP -lt 3 ] ; then
TO_SKIP="$(expr "$TO_SKIP" '-' '2')"
else
TO_SKIP="$(expr "$TO_SKIP" '-' '1')"
fi
tput cuu 1 #cursor up one line
echo -n ${ScreenRedraw_on}
echo -n "\$####" #restores an erased '$' making only 3 chars disappear.
# ^ $ = prompt - $PS1. .(I have just a dollar here but if yours is longer,
# you can add the first four if it's static, and you'll loose nothing!!)
echo -n ${ScreenRedraw_off}
tput cud $TO_SKIP # move cursor to where it should be.
echo -n ${ScreenRedraw_on}
echo # activate the cli at correct position.
else
tput cuu 2
echo ${ScreenRedraw_on}
fi
trap OkayScreen SIGWINCH
/usr/bin/less $@
# ^^^^^^^^ NB! The path where the BINARY less is installed.
trap '' SIGWINCH
-------------------------------------------------------------------------------- and here is the kludge wich makes it all work!
#! /bin/bash
# kludge.scr - to be placed in the ~/bin folder is the inner workings of the bash script named less
# Copyright 2008 Tommy Bollman
PS1=""
shopt -s checkwinsize
echo $LINES
----><---------------------- EOF. -
Error during GR(very very urgent)
Hi all,
i am using a developed program for GR.i used this program before.there was no error.but now i am facing error like
<b>PO ordered quqntity exceeded by 18,000 EA.</b>.i am using <b>BAPI_GOODSMVT_CREATE</b> for goods transfer.
In the selection screen, i am putting
PO number- PO1
material number- MAT
GR quantity- 18,000
delivery order-111
i want to receive the material MAT of quantity 18,000 from that PO.initially i have ordered PO quntity as 1 lakh. Till now i have received 42,000 materials,now i try to receive 18,000 materials.but it is showing this type of error.
This error is fired from the return parameter of that BAPI only.error having message class-M7 & error no-022
is comming.
i am giving my coding below.plz suggest where is the problem.it is very very urgent.recently my company has added some patches to update the SAP.is this the cause for that error.plz suggest.
any idea will be highly appreaciated.
Regards
REPORT zmui001
LINE-SIZE 140
LINE-COUNT 65
NO STANDARD PAGE HEADING.
*-- DATA DECLARATION--
*-- tables
TABLES : ekpo,
ekbe,
marv.
*--Includes
INCLUDE : <icon>. " Include for Icons
*-- Types
TYPES : BEGIN OF t_mseg,
ebeln LIKE ekko-ebeln,
name1 LIKE lfa1-name1,
lifnr LIKE lfa1-lifnr,
eknam LIKE t024-eknam,
mblnr LIKE mkpf-mblnr,
matnr LIKE ekpo-matnr,
maktx LIKE makt-maktx,
lgort LIKE mseg-lgort,
charg LIKE mseg-charg, "chg: 10/17/2005
menge LIKE mseg-menge,
budat LIKE mkpf-budat,
bldat LIKE mkpf-bldat, " chg : 08/18/2003
xblnr LIKE mkpf-xblnr,
END OF t_mseg.
DATA: BEGIN OF t_ekbe,
ebeln LIKE ekbe-ebeln,
ebelp LIKE ekbe-ebelp,
bwart LIKE ekbe-bwart,
matnr LIKE ekbe-matnr,
menge LIKE ekbe-menge,
END OF t_ekbe,
BEGIN OF t_ekpo,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
menge LIKE ekpo-menge,
END OF t_ekpo.
TYPES : BEGIN OF t_options.
INCLUDE STRUCTURE itcpo.
TYPES : END OF t_options.
*--Internal tables
DATA: BEGIN OF i_item OCCURS 50. "Create Material Document Item
INCLUDE STRUCTURE bapi2017_gm_item_create.
DATA: END OF i_item .
DATA: BEGIN OF i_return OCCURS 20. "Return parameter
INCLUDE STRUCTURE bapiret2.
DATA: END OF i_return.
DATA: BEGIN OF i_part OCCURS 0, " Internal table for split data
part(20),
END OF i_part.
DATA: BEGIN OF i_return1 OCCURS 20. "Return parameter
INCLUDE STRUCTURE bapiret1.
DATA: END OF i_return1.
*-- Work areas
DATA: BEGIN OF wa_header . "Material Document Header Data
INCLUDE STRUCTURE bapi2017_gm_head_01.
DATA: END OF wa_header .
DATA: BEGIN OF wa_return . "Output Structure
INCLUDE STRUCTURE bapi2017_gm_head_ret.
DATA: END OF wa_return .
*-- Work areas
DATA: wa_mseg TYPE t_mseg,
wa_ekbe LIKE t_ekbe,
wa_ekpo LIKE t_ekpo,
wa_options TYPE t_options,
i_ekbe LIKE STANDARD TABLE OF t_ekbe,
i_ekbe2 LIKE STANDARD TABLE OF t_ekbe,
i_ekpo LIKE STANDARD TABLE OF t_ekpo.
*---Variables
DATA: v_first, " variable to get first digit
v_set TYPE c,
v_found TYPE p,
v_menge TYPE p,
v_ebeln LIKE ekko-ebeln,
v_lifnr LIKE ekko-lifnr,
v_belnr LIKE ekbe-belnr,
v_postdate LIKE mkpf-budat,
v_bukrs LIKE marv-bukrs,
v_datum LIKE sy-datum,
v_lgort LIKE mard-lgort, " Stge. location
v_bwart LIKE mseg-bwart, " Movement type
v_infnr LIKE eina-infnr, " Info record no.
v_ltsnr LIKE eina-ltsnr.
*---Constants
CONSTANTS: c_comma TYPE c VALUE ',', " For splitting data at commas
c_01(2) TYPE c VALUE '01', " For movement code in Bapi
c_b TYPE c VALUE 'B', " For mvt. Indicator in Bapi
c_save(4) TYPE c VALUE 'SAVE', " For button text
c_clear(5) TYPE c VALUE 'CLEAR', " For clear button
c_mvmt(4) TYPE c VALUE 'MVMT',
c_ok(2) TYPE c VALUE 'OK',
c_error(5) TYPE c VALUE 'Error'.
*--SELECTION SCREEN DESIGN--
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS: p_bar(75) , " Scanned data from barcode
p_ebeln LIKE ekko-ebeln, " PO number
p_matnr LIKE ekpo-matnr, " Material number
p_menge LIKE ekpo-menge, " Quantity
p_lifnr LIKE ekko-lifnr, " Vendor code
p_frbnr LIKE mkpf-frbnr, " Reference doc for goods mvt
p_status(5) TYPE c.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN PUSHBUTTON 15(10) v_save USER-COMMAND mvmt.
SELECTION-SCREEN PUSHBUTTON 40(10) v_clear USER-COMMAND clear.
INITIALIZATION -
INITIALIZATION.
v_save = c_save .
v_clear = c_clear.
*--AT SELECTION_SCREEN--
AT SELECTION-SCREEN .
IF sy-ucomm = c_clear.
PERFORM f_clear.
ELSE.
IF sy-ucomm <> c_mvmt.
if not sy-tabix is initial and sy-ucomm <> c_mvmt.
*--- Extracting the data by splitting the scanned values.
PERFORM f_get_split_data.
*--- Validating the input data.
PERFORM f_check_inputs.
ELSE .
*--- Validating the input data.
PERFORM f_check_inputs.
*-- Determining the posting date and period check.
PERFORM f_get_posting_date.
*---Post goods movement
PERFORM f_post_receipt.
ENDIF.
ENDIF.
SUBROUTINES *
*& Form f_check_inputs
Validating the input parameters
FORM f_check_inputs.
*-- Validating material no.
SELECT SINGLE matnr INTO p_matnr
FROM mara
WHERE matnr = p_matnr.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Material no.'.
ENDIF.
*-- Validating JHT reference no.
SELECT SINGLE ebeln
lifnr
bukrs
INTO (p_ebeln, v_lifnr , v_bukrs)
FROM ekko
where unsez = p_unsez. chg:07072003
WHERE ebeln = p_ebeln.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Purchase order no.'.
ENDIF.
*-- Validating material po combination
SELECT SINGLE *
FROM ekpo
WHERE ebeln = p_ebeln
AND matnr = p_matnr.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Purchase order no.' ' and Material no.'.
ENDIF.
*--- Checking for DO entry . (chng : 30/06/2003)
IF p_frbnr IS INITIAL.
MESSAGE e018(m7) WITH 'Delivery no.'.
p_status = c_error.
PERFORM f_clear.
ENDIF.
*-- Validating material po do combination
SELECT SINGLE a~belnr
INTO v_belnr
FROM ekbe AS a
INNER JOIN mkpf AS b
ON abelnr = bmblnr
AND agjahr = bmjahr
WHERE a~ebeln = ekpo-ebeln
AND a~ebelp = ekpo-ebelp
AND b~xblnr = p_frbnr.
IF sy-subrc = 0.
MESSAGE e019(zm) WITH v_belnr.
p_status = c_error.
PERFORM f_clear.
ENDIF.
p_status = c_ok.
ENDFORM. " f_check_inputs
*& Form f_get_split_data
Extracting the data by splitting the Scanned data
FORM f_get_split_data.
*-- Splitting the data at commas
SPLIT p_bar AT c_comma INTO TABLE i_part.
*-- Assigning the parts to variables.
LOOP AT i_part.
v_first = i_part-part+0(1).
TRANSLATE v_first TO UPPER CASE.
CASE v_first .
WHEN 'V'.
p_lifnr = i_part-part+1(10).
WHEN 'P'.
p_matnr = i_part-part+1(18).
WHEN 'Q'.
p_menge = i_part-part+1(13).
WHEN 'K'.
p_ebeln = i_part-part+1(10).
WHEN 'D'.
p_frbnr = i_part-part+2(16).
WHEN OTHERS.
CONTINUE.
ENDCASE.
ENDLOOP.
ENDFORM. " f_get_split_data
*& Form f_get_posting_date
Determing the posting date for document
FORM f_get_posting_date.
*-- get the current period for todays date.
DATA: l_period LIKE t009b-poper.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
i_date = sy-datum
i_periv = 'K4'
IMPORTING
e_buper = l_period
E_GJAHR =
EXCEPTIONS
input_false = 1
t009_notfound = 2
t009b_notfound = 3
OTHERS = 4
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*-- Determining whether the open period
SELECT SINGLE *
FROM marv
WHERE bukrs = v_bukrs.
IF sy-subrc = 0.
IF l_period = marv-lfmon .
v_postdate = sy-datum.
ELSE.
CALL FUNCTION 'BAPI_CCODE_GET_FIRSTDAY_PERIOD'
EXPORTING
companycodeid = v_bukrs
fiscal_period = marv-lfmon
fiscal_year = marv-lfgja
IMPORTING
first_day_of_period = v_postdate
return = i_return1.
IF NOT i_return[] IS INITIAL.
LOOP AT i_return1.
MESSAGE i016(zm) WITH i_return-message.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " f_get_posting_date
*& Form f_post_receipt
Post the goods receipt for entered data.
FORM f_post_receipt.
PERFORM f_fill_item.
PERFORM f_fill_header.
PERFORM f_execute_transfer.
PERFORM f_clear.
ENDFORM. " f_post_receipt
*& Form f_fill_item
Updating the item data for the GR
FORM f_fill_item.
Checking for IQC cycle is done here.(chng : 23/07/2003)
PERFORM f_check_iqc.
*---- Assigning movement type as per IQC cycle.(chng : 23/07/2003)
IF v_lgort IS INITIAL.
MOVE '101' TO i_item-move_type.
SELECT SINGLE lgort INTO i_item-stge_loc
FROM ekpo
where ebeln = v_ebeln and " chg :07/07/2003
WHERE ebeln = p_ebeln AND
matnr = p_matnr .
ELSE.
MOVE v_lgort TO i_item-stge_loc.
MOVE v_bwart TO i_item-move_type.
ENDIF.
MOVE p_matnr TO i_item-material.
MOVE p_menge TO i_item-entry_qnt.
move v_ebeln to i_item-po_number. " 07/07/2003
MOVE p_ebeln TO i_item-po_number.
MOVE v_lifnr TO i_item-vendor.
MOVE c_b TO i_item-mvt_ind.
select single ebelp into i_item-po_item " chg :29/07/2003
from ekpo
where ebeln = p_ebeln
and matnr = p_matnr
and elikz = ''.
SELECT ebeln
ebelp
matnr
menge
INTO CORRESPONDING FIELDS OF TABLE i_ekpo
FROM ekpo
WHERE ebeln = p_ebeln
AND matnr = p_matnr
AND loekz = '' .
SORT i_ekpo BY ebeln ebelp matnr.
LOOP AT i_ekpo INTO wa_ekpo.
IF v_found = 0.
SELECT ebeln ebelp
bwart menge
INTO CORRESPONDING FIELDS OF TABLE i_ekbe
FROM ekbe
WHERE ebeln = p_ebeln
AND ebelp = wa_ekpo-ebelp
AND matnr = p_matnr.
and elikz = '' . CHG -- 03/19/2004
IF sy-subrc = 0.
LOOP AT i_ekbe INTO wa_ekbe .
IF wa_ekbe-bwart = '101'.
v_menge = v_menge + wa_ekbe-menge.
ENDIF.
IF wa_ekbe-bwart = '102'.
v_menge = v_menge - wa_ekbe-menge.
ENDIF.
IF wa_ekbe-bwart = '122'.
v_menge = v_menge - wa_ekbe-menge.
ENDIF.
ENDLOOP.
chng: 03/19/2004 compare po qty against receipt
v_menge = v_menge + p_menge .
IF wa_ekpo-menge >= v_menge .
v_found = 1.
MOVE wa_ekpo-ebelp TO i_item-po_item.
ENDIF.
ELSE .
v_found = 1.
MOVE wa_ekpo-ebelp TO i_item-po_item.
ENDIF.
ENDIF.
CLEAR : wa_ekbe, i_ekbe, v_menge.
ENDLOOP.
IF v_found = 0 .
MESSAGE e003(zm) WITH ' delivery items'.
ENDIF.
APPEND i_item.
CLEAR : i_item, v_found .
ENDFORM. " f_fill_item
*& Form f_check_iqc
Checking the storage location for the (chng : 23/07/2003)
FORM f_check_iqc.
CALL FUNCTION 'Z_M_GET_IQC_STATUS'
EXPORTING
matnr = p_matnr
lifnr = v_lifnr
IMPORTING
lgort = v_lgort
bwart = v_bwart
ltsnr = v_ltsnr
infnr = v_infnr
EXCEPTIONS
non_iqc_vendor = 1
OTHERS = 2.
IF sy-subrc <> 0.
CLEAR : v_lgort , v_bwart , v_ltsnr.
ENDIF.
ENDFORM. " f_check_iqc
*& Form f_fill_header
Updating data in the header
FORM f_fill_header.
MOVE v_postdate TO wa_header-pstng_date.
MOVE sy-datum TO wa_header-doc_date.
MOVE p_frbnr TO wa_header-ref_doc_no.
ENDFORM. " f_fill_header
*& Form f_execute_transfer
Executing the goods movement.
FORM f_execute_transfer.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = wa_header
goodsmvt_code = c_01
IMPORTING
goodsmvt_headret = wa_return
TABLES
goodsmvt_item = i_item
return = i_return.
IF i_return[] IS INITIAL .
COMMIT WORK.
*--- UPdating Info record for IQC cycle ind.(chng : 23/07/2003)
IF NOT v_ltsnr IS INITIAL.
UPDATE eina SET ltsnr = v_ltsnr
WHERE infnr = v_infnr.
ENDIF.
REFRESH : i_item.
CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
MESSAGE i012(migo) WITH wa_return-mat_doc.
PERFORM f_do_print.
ELSE.
REFRESH : i_item.
CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
PERFORM write_errors.
ENDIF.
ENDFORM. " f_execute_transfer
FORM write_errors.
WRITE: 0(90) sy-uline ,
/0'|',
3 'System messages for GR posting',
90 '|',
/0(90) sy-uline .
LOOP AT i_return.
CASE i_return-type.
WHEN 'E'.
MESSAGE i016(zm) WITH i_return-message.
WHEN 'W'.
MESSAGE i017(zm) WITH i_return-message.
WHEN 'I'.
WRITE: /0'|',
icon_yellow_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE i018(zm) WITH i_return-message.
WHEN 'S'.
WRITE: /0'|',
icon_green_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE i018(zm) WITH i_return-message.
WHEN OTHERS.
WRITE: /0'|',
icon_red_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE e016(zm) WITH i_return-message.
ENDCASE.
AT LAST .
WRITE:/0(90) sy-uline .
ENDAT.
ENDLOOP.
ENDFORM. " write_errors
*& Form f_clear
Clearing the input parameters
FORM f_clear.
CLEAR : p_ebeln ,
p_bar,
p_matnr,
p_frbnr,
v_lifnr,
p_menge,
p_status.Hi all,
can anyone suggest any idea?
Regrds
pabitra -
ESS Leave request screen giving a critical Error in production server
Friends,
We are in a critical face of ESS implemetation.
We are doing an ESS MSS implementation for country grouping 99.
When we moved our changes to production server after succesful testing in quality, getting the following Critical error for Leave Request Screen.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:512)
at java.util.ArrayList.get(ArrayList.java:329)
at com.sap.aii.proxy.framework.core.JcoBaseList.get(JcoBaseList.java:272)
at com.sap.aii.proxy.framework.core.AbstractList.get(AbstractList.java:230)
at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCList.get(DynamicRFCList.java:281)
at com.sap.tc.webdynpro.progmodel.context.Node$ModelElementList.getElement(Node.java:2543)
at com.sap.tc.webdynpro.progmodel.context.Node.getElementAtInternal(Node.java:621)
Other areas like personal Info & who is who are working fine.
Leave request was working fine in Development and Quality servers and it never worked in Production server.
It worked fine with same config, with same master data and same employee & org structure in quality server.
We tried the following things:
1. Checked and confirmed the sequence of transports for configs and Developments to Quality and Production.
Even compared the table level entries and ABAP codings B/n dev and Production. All are same.
2. Moved the workflow changes to production and activated the same. No change found after that.
3. Gave SAP all authorization in R/3 and full authorization from portal side as well.
4. Assigned the userid to different employees and checked the masterdata of employees.
5. Checked the note 1388426.Every thing mentioned in the note is there in the system.
6. Verified Rule groups and WEBMO feature are correct and same as in quality.
As our go live date is very near, request your help .Thanks in advance for your help.
Regards,Customisation of Leave request is mising in your system, please check the rule group using PTARQ.
-
Very urgent:To find IDOC list in RSMO(BI 7.0)
Hi all,
Its very urgent to know,for a particular load IDOCs used to run to process the data&dialogs,in 3.5 we used to get the IDOCs list in RSMO screen itself,but in 7.0 is not having that options,please tell me for a particular load where we can find list of IDOCs?
Regards,
GTR.Hi,
This info may be helpful.
Transact RFC error
tRFC Error - status running Yellow for long time (Transact RFC will be enabled in Status tab in RSMO).
Step 1: Goto Details, Status get the IDoc number,and go to BD87 in R/3,place the cursor in the RED IDoc entroes in tRFC
queue thats under outbound processing and click on display the IDOC which is on the menu bar.
Step 2: In the next screen click on Display tRFC calls (will take you to SM58 particular TRFC call)
place the cursor on the particular Transaction ID and go to EDIT in the menu bar --> press 'Execute LUW'
(Display tRFC calls (will take you to SM58 particular TRFC call) ---> select the TrasnID ---> EDIT ---> Execute LUW)
Rather than going to SM58 and executing LUW directly it is safer to go through BD87 giving the IDOC name as it will take you
to the particular TRFC request for that Idoc.
OR
Go into the JOB Overview of the Load there you should be able to find the Data Package ID.
(For this in RSMO Screen> Environment> there is a option for Job overview.)
This Data Package TID is Transaction ID in SM58.
OR
SM58 > Give * / user name or background (Aleremote) user name and execute.It will show you all the pending TRFC with
Transaction ID.
In the Status Text column you can see two status
Transation Recorded and Transaction Executing
Don't disturb, if the status is second one Transaction Executing. If the status is first one (Transation Recorded) manually
execute the "Execute LUWs"
OR
Directly go to SM58 > Give * / user name or background (Aleremote) user name and execute. It will show TRFCs to be executed
for that user. Find the particular TRFC (SM37 > Req name > TID from data packet with sysfail).select the TrasnID (SM58) --->
EDIT ---> Execute LUW
Also
Check Note 561880 - Requests hang because IDocs are not processed.
thanks,
JituK -
Please check my code where i am wrong ,-very urgent please
Hi ,
i am getting all values execpt the values from table t685 , kolnr and kotabnr and i am using three selects and moving the values in it_output_report.
this is very urgent
REPORT zmaster_condition LINE-COUNT 80 LINE-SIZE 225.
D A T A *
INCLUDE zmaster_condition_top.
S E L E C T I O N S *
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
SELECT-OPTIONS: s_kvewe FOR t683s-kvewe,
s_kappl FOR t683s-kappl,
s_kalsm FOR t683s-kalsm,
s_kschl FOR t683s-kschl,
s_kabnr FOR t682i-kotabnr.
SELECTION-SCREEN END OF BLOCK b01.
*SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s04.
*PARAMETERS: p_vari LIKE disvariant-variant.
*SELECTION-SCREEN END OF BLOCK b4.
**SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
*SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
PARAMETERS R1 RADIOBUTTON GROUP RADI1 DEFAULT 'X'.
*SELECTION-SCREEN END OF BLOCK b02.
A T S E L E C T I O N - S C R E E N *
M A I N P R O G R A M *
START-OF-SELECTION.
*Initializing the local tables.
CLEAR:it_t682i,it_t683s,it_t685,it_output_report.
REFRESH:it_t682i,it_t683s,it_t685,it_output_report.
*Selection of data from pricing procedure tables using a join.
*SELECT Akvewe Akappl Akalsm Astunr A~zaehk
Akschl Bkolnr Bkotabnr Ckozgf
INTO TABLE it_output_report
FROM t683s as A
JOIN t682i as B
ON Akvewe eq Bkvewe and
Akappl eq Bkappl
JOIN t685 as C
ON Bkvewe eq Ckvewe and
Bkappl eq Ckappl and
Bkozgf eq Ckozgf
WHERE A~KVEWE = 'B' and
A~KAPPL = 'V1' .
A~KALSM IN S_KALSM and
A~KSCHL IN S_KSCHL and
B~KOTABNR IN S_KABNR.
*Selection of data from pricing procedure tables
*SELECT * FROM t683s APPENDING CORRESPONDING FIELDS OF TABLE it_t683s
WHERE kvewe = 'B'
and kappl = 'V1'.
SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
INTO TABLE it_t682i
WHERE kvewe = 'B'
AND kappl = 'V1'.
SELECT kvewe kappl kalsm stunr zaehk kschl FROM t683s
INTO TABLE it_t683s
WHERE kvewe = 'B'
AND kappl = 'V1'
AND kalsm IN s_kalsm.
*SELECT kvewe kappl kschl kozgf FROM t685
INTO TABLE it_t685
WHERE kvewe = 'B'
AND kappl = 'V1'
and KSCHL in S_KSCHL
AND KOZGF in s_kabnr.
SELECT kvewe kappl kschl kozgf FROM t685
INTO TABLE it_t685
WHERE kvewe = 'B'
AND kappl = 'V1'
and KSCHL in S_KSCHL
AND KOZGF in s_kabnr.
*clear it_t685.
*loop at it_t685.
it_output_report-kschl = it_t685-kschl.
it_output_report-kozgf = it_t685-kozgf.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kolnr = it_t682i-kolnr.
it_output_report-kotabnr = it_t682i-kotabnr.
*endloop.
clear it_t683s.
loop at it_t683s.
it_output_report-kvewe = it_t683s-kvewe.
it_output_report-kappl = it_t683s-kappl.
it_output_report-kalsm = it_t683s-kalsm.
it_output_report-stunr = it_t683s-stunr.
it_output_report-zaehk = it_t683s-zaehk.
it_output_report-kschl = it_t683s-kschl.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kolnr = it_t682i-kolnr.
it_output_report-kotabnr = it_t682i-kotabnr.
APPEND IT_OUTPUT_REPORT.
clear it_output_report.
*loop at it_t685.
it_output_report-kschl = it_t685-kschl.
it_output_report-kozgf = it_t685-kozgf.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kolnr = it_t682i-kolnr.
it_output_report-kotabnr = it_t682i-kotabnr.
endloop.
*MOVE : it_t683s-kvewe TO it_output_report-kvewe.
E N D - O F - S E L E C T I O N
END-OF-SELECTION.
*Output to a list
FORMAT COLOR 2 .
WRITE:/2 'Usage',09 'App',17 'Proced',24 'Step',
37 'Counter',50 'CondType',63 'Description',85 'AccSeq',
97 'AccSeqNum',108 'ConTable'.
WRITE:/1(225) sy-uline.
loop at it_output_report.
WRITE:/ it_output_report-kvewe UNDER 'Usage',
it_output_report-kappl UNDER 'App',
it_output_report-kalsm UNDER 'Procedure',
it_output_report-stunr UNDER 'Step',
it_output_report-zaehk UNDER 'Counter',
it_output_report-kschl UNDER 'CondType',
it_output_report- UNDER 'Description',
it_output_report-kozgf UNDER 'AccSeq',
it_output_report-kolnr UNDER 'AccSeqNum',
it_output_report-kotabnr UNDER 'ConTable'.
it_output_report- UNDER 'SalesOrg',
it_output_report- UNDER 'DocType'.
it_output_report- UNDER 'Customer'.
endloop.
INCLUDE ZMASTER_CONDITION_TOP *
*Table declaration
Tables:T682I,
T683S,
T685,
NACH,
B005.
*Data declaration for internal tables
DATA:Begin of it_output_report occurs 0,
KVEWE LIKE T683S-KVEWE, "Usage of the condtion table
KAPPL LIKE T683S-KAPPL, "Application
KALSM LIKE T683S-KALSM, "Procedure for pricing
STUNR LIKE T683S-STUNR, "step number
ZAEHK LIKE T683S-ZAEHK, "condition counter
KSCHL LIKE T683S-KSCHL, "condition type
KOZGF LIKE T685-KOZGF, "Access sequence
KOLNR LIKE T682I-kOLNR, "Access sequence number
KOTABNR LIKE T682I-KOTABNR, "Condition Table
End of it_output_report.
DATA: BEGIN OF IT_T683S OCCURS 10 ,
KVEWE LIKE T683S-KVEWE, "Usage of the condtion table
KAPPL LIKE T683S-KAPPL, "Application
KALSM LIKE T683S-KALSM, "Procedure for pricing
STUNR LIKE T683S-STUNR, "step number
ZAEHK LIKE T683S-ZAEHK, "condition counter
KSCHL LIKE T683S-KSCHL,
KOZGF LIKE T685-KOZGF, "condition type
END OF IT_T683S.
DATA: BEGIN OF IT_T685 OCCURS 10,
kvewe like t685-kvewe,
kappl like t685-kappl,
KSCHL LIKE T685-KSCHL,
KOZGF LIKE T685-KOZGF, "Access sequence
END OF IT_T685 .
DATA: BEGIN OF IT_T682I OCCURS 0,
KVEWE LIKE T682I-KVEWE,
KAPPL LIKE T682I-KAPPL,
KOZGF LIKE T682I-KOZGF, "Access sequence
KOLNR LIKE T682I-kOLNR, "Access sequence number
KOTABNR LIKE T682I-KOTABNR, "Condition TableHi,
I think may be you should check with T682I-KOZGF(Access sequence) instead of T682I-KOTABNR(Condition table).
In select-options declare like
s_KOZGF FOR t682i-KOZGF
SELECT kvewe kappl kschl kozgf FROM t685
INTO TABLE it_t685
WHERE kvewe = 'B'
AND kappl = 'V1'
and KSCHL in S_KSCHL
AND KOZGF in s_KOZGF. //change s_kabnr to s_kozgf
Thanks,
Veni. -
I just bought a new iphone 5S and once turned on and pushed the button restore from Icloud, I'm stil stuck in this section i can't do anything plus i turned it off and on again and still not working, please provide me with a solution very urgently!!
Kindly note also that i did not work on this iphone before, i just turned it on and i cannot connect it to the itune and restore it as the itune cannot read the device since i'm not able to reach my home screen, I am stuck in my restoring screen.
Please help!!!!You dont have any data on your phone yet right?
If you dont connect your device to the computer and
Press and hold the Sleep/Wake button and the Home button together for at least 15 seconds, until the Apple logo appears.
after that click okay when it says itunes has detected an iphone in recovery mode. Then click restore
after that try again -
Upload file in clustered environment- Very Urgent
Hi,
My requirement is to upload a file onto the WebServer and also list out the file names on the front end and provide a funcionality to delete them from the server.
Environment Details:
-Product: WebSphere Portal
-Type - Clustered Enviroment with 2 nodes
-Framework: JSF
The problem I am facing here is:
1) I login to the application using a common URL: Say abc.com/wps/portal
2) I dont know which node I am logged into, it can be either Primary(X1) or Secondary(X2).
3) I click on the browse button and select a file and click on the Upload button. The file is uploaded successfully on say primary node X1.
4) I can at that time read the name of the file and display it on screen and also select and delete it. But if I log off and login again and say I am now redirected to secondary node, I am not able to read the name of the file I uploaded as it is stored on the primary node.
Can some body provide me a solutions to this.
What I can think of is , While uploading the file, I will check if I am on the primary node or secondary node and Upload the file only on one node rather than uploading them on both. Say uploading only on primary node X1, Now if I am logged into primary I can just mention the directory name and upload it.
But I f am on the secondary node I need to upload the file on the primary node using URL connection.
Can some body tell me the feasibility of this approach ?? Also how do I upload a file on a remote machine(Logged into the secondary but putting the file onto the primary node.) ???
Please help me this very very urgent.
Thanks.Hi!
I would simply use a network share which is accessible from both nodes as storage. This way you don't have to care to which server the file is uploaded too, because both share the same filesystem.
If you are on windows, simply share a folder and access it from both nodes. In Linux I'd suggest using samba & mount, on solaris use share & mount.
Another approach would be to use a database as storage.
hth Chris -
Very Urgent, files, threads, and swing !!!!
Dear friends, i have a swing application, in that application i have a class that extends a thread, that thread will do nothing but read the contents of my data file and puts them in an array, but i am getting a NullpointerException in my thread, could any friend help me please, it is very urgent, i will post my code below.
import java.awt.*;
import java.awt.event.*;
import java.text.DateFormat;
import java.util.*;
import javax.swing.*;
import java.sql.*;
import java.net.URL;
import java.io.*;
public class FinalMachine extends JFrame
private JPanel MainPanel, ThicknessPanel, MainManager,fieldsPanel, sub_panel;
private Container c;
private CardLayout CardManager;
private String timezone;
private static final int ONE_SECOND = 1000;
private JLabel welcome_label, label1, label2, label3,field_label;
private JTextField data_entry;
private Connection connection;
public JPanel thick_figure;
public int num_of_hits, next_index, recCount;
public int dataBuffer[];
public FileReader data_file;
public BufferedReader b_data_file;
public File tem_file;
final int num_of_rec = 20;
public FinalMachine()
super("PHOENIX MACHINERY s.a.l");
/* Start all threads */
/* Start filling data file in global array */
loadData dataFile = new loadData();
dataFile.start();
/* Adding control to window application */
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowevent)
// setDefaultCloseOperation(0);
System.exit(0);
public void windowDeiconified(WindowEvent eve)
setState(0);
addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent componentevent)
setSize(500, 500);
Dimension dimension1 = Toolkit.getDefaultToolkit().getScreenSize();
if(dimension1.width == 800 && dimension1.height == 600)
setLocation(150, 25);
else
if(dimension1.width == 1024 && dimension1.height == 768)
setLocation(200, 100);
/* Setting the location of the application on the screen */
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
if(dimension.width == 800 && dimension.height == 600)
setLocation(150, 25);
else
if(dimension.width == 1024 && dimension.height == 768)
setLocation(200, 100);
/* Constructing the main menu */
JMenuBar bar = new JMenuBar();
setJMenuBar( bar );
JMenu fileMenu = new JMenu( "File");
fileMenu.setMnemonic( 'F' );
JMenuItem mainItem = new JMenuItem( "Main page" );
mainItem.setMnemonic( 'M' );
mainItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
CardManager.show(MainManager, "main");
fileMenu.add( mainItem );
JMenuItem dataItem = new JMenuItem( "Database page" );
dataItem.setMnemonic( 'D' );
dataItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
CardManager.show(MainManager, "data_base");
fileMenu.add( dataItem );
JMenuItem printItem = new JMenuItem( "Print" );
printItem.setMnemonic( 'P' );
printItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
PrintUtilities.printComponent(MainManager);
fileMenu.add( printItem );
JMenuItem exitItem = new JMenuItem( "Exit" );
exitItem.setMnemonic( 'P' );
exitItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
System.exit(0);
fileMenu.add( exitItem );
bar.add( fileMenu );
JMenu figureMenu = new JMenu( "Figures");
figureMenu.setMnemonic( 'G' );
JMenuItem thicknessItem = new JMenuItem( "Thickness" );
thicknessItem.setMnemonic( 'T' );
thicknessItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
CardManager.show(MainManager, "thickness");
figureMenu.add( thicknessItem );
bar.add( figureMenu );
JMenu helpMenu = new JMenu( "Help");
helpMenu.setMnemonic( 'H' );
JMenuItem aboutItem = new JMenuItem( "About us" );
aboutItem.setMnemonic( 'A' );
aboutItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
JOptionPane.showMessageDialog(null, "Engineer Bilal Haidar (Computer & "+ "Communication Engineering)\n\n All Rights Reserevd. @ 2002",
"About me...", JOptionPane.PLAIN_MESSAGE);
helpMenu.add( aboutItem );
bar.add( helpMenu );
/* Intializing global values */
dataBuffer = new int[60];
/* Initializing the panels */
c = getContentPane();
c.setLayout(new FlowLayout());
CardManager = new CardLayout();
MainManager = new JPanel(false);
MainManager.setLayout(CardManager);
c.add(MainManager);
javax.swing.border.Border border = BorderFactory.createEmptyBorder(10, 10, 5, 10);
MainPanel = new JPanel(false);
MainPanel.setLayout(new BoxLayout(MainPanel, 1));
MainPanel.setBorder(border);
ThicknessPanel = new JPanel(false);
ThicknessPanel.setLayout(new BoxLayout(ThicknessPanel, 1));
ThicknessPanel.setBorder(border);
fieldsPanel = new JPanel(false);
fieldsPanel.setLayout( new BoxLayout( fieldsPanel,1));
fieldsPanel.setBorder(border);
sub_panel = new JPanel(false);
sub_panel.setLayout( new BoxLayout(sub_panel,0) );
sub_panel.setBorder(border);
thick_figure = new JPanel(false);
thick_figure.setBorder(border);
/* Filling the main panel */
JLabel jlmain = new JLabel("Main Page");
MainPanel.add(jlmain);
timezone = showTime(new Locale("en", "US"));
JLabel jltime = new JLabel(" " + timezone);
MainPanel.add(jltime);
MainManager.add(MainPanel, "main");
/* Filling the thickness panel */
num_of_hits = 0;
next_index = 0;
/* fill in with ero values for everything*/
/*display the figure*/
ThicknessPanel.add(thick_figure);
JLabel blanklabel = new JLabel(" ");
ThicknessPanel.add(blanklabel);
JButton build_fig = new JButton("Draw Figure");
build_fig.addActionListener(
new ActionListener() { // anonymous inner class
public void actionPerformed( ActionEvent e )
if ( num_of_hits == 0 )
/* draw figure based on first 20 points in the array */
next_index = num_of_rec;
else
if ( num_of_hits > 3 )
JOptionPane.showMessageDialog(null,"No more data to draw","Error Drawing",JOptionPane.ERROR_MESSAGE);
else
/* draw the figure starting the data from index 20*/
next_index = next_index + num_of_rec;
num_of_hits += 1;
ThicknessPanel.add(build_fig);
MainManager.add(ThicknessPanel, "thickness");
/* filling the database panel */
label1 = new JLabel(" ",SwingConstants.CENTER);
welcome_label = new JLabel(" Database Page ",SwingConstants.CENTER);
label2 = new JLabel(" ",SwingConstants.CENTER);
fieldsPanel.add( label1 );
fieldsPanel.add( welcome_label );
fieldsPanel.add( label2 );
field_label = new JLabel(" Enter your name: ");
data_entry = new JTextField( 10 );
sub_panel.add( field_label );
sub_panel.add( data_entry );
fieldsPanel.add( sub_panel );
JButton add_data = new JButton( "Add me" );
add_data.addActionListener(
new ActionListener() { // anonymous inner class
public void actionPerformed( ActionEvent e )
// try {
// url = "jdbc:odbc:DataEntry";
// Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
// connection = DriverManager.getConnection( url );
// System.out.println( "Connection Suucessfull");
// Statement statement = connection.createStatement();
// String get_field;
// get_field = data_entry.getText();
// String query = "INSERT INTO data (anyField) VALUES ('get_field')";
// int result1 = statement.executeUpdate( query );
// if ( result1 == 1 )
// JOptionPane.showMessageDialog(null, "Thanks for the info..."," Data Entry Success",JOptionPane.INFORMATION_MESSAGE);
// else
// JOptionPane.showMessageDialog(null, "Sorry, your name was not added...","Data entry error",JOptionPane.ERROR_MESSAGE);
// catch ( ClassNotFoundException cnfex ) {
// // process ClassNotFoundExceptions here
// cnfex.printStackTrace();
// System.out.println( "Connection UN Suucessfull");
// catch ( SQLException sqlex ) {
// // process SQLExceptions here
// sqlex.printStackTrace();
// System.out.println( "Connection UN Suucessfull");
// catch ( Exception ex ) {
// // process remaining Exceptions here
// ex.printStackTrace();
// System.out.println( "Connection UN Suucessfull");
fieldsPanel.add(add_data);
MainManager.add(fieldsPanel, "data_base");
/* display time */
Timer timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent actionevent)
timezone = showTime(new Locale("en", "US"));
setTitle("PHOENIX MACHINERY s.a.l " + timezone);
timer.start();
public static void main(String args[])
FinalMachine finalmachine = new FinalMachine();
finalmachine.setSize(500, 500);
ImageIcon imageicon = new ImageIcon("images/pc.gif");
finalmachine.setIconImage(imageicon.getImage());
finalmachine.show();
public static String showTime(Locale locale)
java.util.Date date = new java.util.Date();
byte byte0 = 2;
DateFormat dateformat = DateFormat.getTimeInstance(byte0, locale);
String s = dateformat.format(date);
return s;
/* Thread loadData starts here */
class loadData extends Thread
public void run()
try {
readMyFile();
catch( Exception x )
System.out.println("The following error occured in LoadData thread : "+x.toString() ); }
} // run() ends here
/* method read file inside thread loadData */
void readMyFile() {
String record = " ";
recCount = 0;
try {
tem_file = new File("mydata.dat");
data_file = new FileReader(tem_file);
b_data_file = new BufferedReader( data_file );
record = new String();
while ( (record = b_data_file.readLine()) != null ) {
dataBuffer[recCount] = Integer.parseInt(record);
recCount += 1; }
b_data_file.close();
catch (IOException e) {
System.out.println("Uh oh, got an IOException error!");
e.printStackTrace();
} // end of readMyFile()
} // thread loadData ends
mydata.dat
2
4
3
1
2
3
5
2
4
1
6
3
2
5
4
1
2
5
8
2
6
9
7
4
2
1
0
2
5
4
8
7
5
6
3
2
1
4
3
0
2
3
6
5
2
1
4
5
6
9
8
5
2
1
6
8
3
1
7
5Thank you Mr. jobuck, you helped me a lot, i wonder if you can provide me with a tutorial on how threads work and how runnables work too. i fixed the error ut old me about but still when i try to add another thread to my program i got an error saying that, i must decalre the new thread in a seperate file please can u have a look on what i have:
import java.awt.*;
import java.awt.event.*;
import java.text.DateFormat;
import java.util.*;
import javax.swing.*;
import java.sql.*;
import java.net.URL;
import java.io.*;
public class FinalMachine extends JFrame
private JPanel MainPanel, ThicknessPanel, MainManager,fieldsPanel, sub_panel;
private Container c;
private CardLayout CardManager;
private String timezone;
private static final int ONE_SECOND = 1000;
private JLabel welcome_label, label1, label2, label3,field_label;
private JTextField data_entry;
private JPanel thick_figure;
private int num_of_hits, next_index, recCount, read_flag;
private int dataBuffer[];
private FileReader data_file;
private BufferedReader b_data_file;
private File tem_file;
private Connection connection;
final int num_of_rec = 20;
public FinalMachine()
super("PHOENIX MACHINERY s.a.l");
/* load JDBC drivers */
try {
String url = "jdbc:odbc:DataEntry";
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
connection = DriverManager.getConnection( url );
System.out.println( "Connection Suucessfull");
catch ( ClassNotFoundException cnfex ) {
// process ClassNotFoundExceptions here
cnfex.printStackTrace();
System.out.println( "Connection UN Suucessfull");
catch ( SQLException sqlex ) {
// process SQLExceptions here
sqlex.printStackTrace();
System.out.println( "Connection UN Suucessfull");
catch ( Exception ex ) {
// process remaining Exceptions here
ex.printStackTrace();
System.out.println( "Connection UN Suucessfull");
/* Intializing global values */
dataBuffer = new int[60];
/* Start all threads */
/* Start filling data file in global array */
loadData dataFile = new loadData();
dataFile.start();
setData setdata = new setData();
setdata.start();
/* Adding control to window application */
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowevent)
// setDefaultCloseOperation(0);
System.exit(0);
public void windowDeiconified(WindowEvent eve)
setState(0);
addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent componentevent)
setSize(500, 500);
Dimension dimension1 = Toolkit.getDefaultToolkit().getScreenSize();
if(dimension1.width == 800 && dimension1.height == 600)
setLocation(150, 25);
else
if(dimension1.width == 1024 && dimension1.height == 768)
setLocation(200, 100);
/* Setting the location of the application on the screen */
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
if(dimension.width == 800 && dimension.height == 600)
setLocation(150, 25);
else
if(dimension.width == 1024 && dimension.height == 768)
setLocation(200, 100);
/* Constructing the main menu */
JMenuBar bar = new JMenuBar();
setJMenuBar( bar );
JMenu fileMenu = new JMenu( "File");
fileMenu.setMnemonic( 'F' );
JMenuItem mainItem = new JMenuItem( "Main page" );
mainItem.setMnemonic( 'M' );
mainItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
CardManager.show(MainManager, "main");
fileMenu.add( mainItem );
JMenuItem dataItem = new JMenuItem( "Database page" );
dataItem.setMnemonic( 'D' );
dataItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
CardManager.show(MainManager, "data_base");
fileMenu.add( dataItem );
JMenuItem printItem = new JMenuItem( "Print" );
printItem.setMnemonic( 'P' );
printItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
PrintUtilities.printComponent(MainManager);
fileMenu.add( printItem );
JMenuItem exitItem = new JMenuItem( "Exit" );
exitItem.setMnemonic( 'P' );
exitItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
System.exit(0);
fileMenu.add( exitItem );
bar.add( fileMenu );
JMenu figureMenu = new JMenu( "Figures");
figureMenu.setMnemonic( 'G' );
JMenuItem thicknessItem = new JMenuItem( "Thickness" );
thicknessItem.setMnemonic( 'T' );
thicknessItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
CardManager.show(MainManager, "thickness");
figureMenu.add( thicknessItem );
bar.add( figureMenu );
JMenu helpMenu = new JMenu( "Help");
helpMenu.setMnemonic( 'H' );
JMenuItem aboutItem = new JMenuItem( "About us" );
aboutItem.setMnemonic( 'A' );
aboutItem.addActionListener (
new ActionListener() {
public void actionPerformed( ActionEvent e )
JOptionPane.showMessageDialog(null, "Engineer Bilal Haidar (Computer & "+ "Communication Engineering)\n\n All Rights Reserevd. @ 2002",
"About me...", JOptionPane.PLAIN_MESSAGE);
helpMenu.add( aboutItem );
bar.add( helpMenu );
/* Initializing the panels */
c = getContentPane();
c.setLayout(new FlowLayout());
CardManager = new CardLayout();
MainManager = new JPanel(false);
MainManager.setLayout(CardManager);
c.add(MainManager);
javax.swing.border.Border border = BorderFactory.createEmptyBorder(10, 10, 5, 10);
MainPanel = new JPanel(false);
MainPanel.setLayout(new BoxLayout(MainPanel, 1));
MainPanel.setBorder(border);
ThicknessPanel = new JPanel(false);
ThicknessPanel.setLayout(new BoxLayout(ThicknessPanel, 1));
ThicknessPanel.setBorder(border);
fieldsPanel = new JPanel(false);
fieldsPanel.setLayout( new BoxLayout( fieldsPanel,1));
fieldsPanel.setBorder(border);
sub_panel = new JPanel(false);
sub_panel.setLayout( new BoxLayout(sub_panel,0) );
sub_panel.setBorder(border);
thick_figure = new JPanel(false);
thick_figure.setBorder(border);
/* Filling the main panel */
JLabel jlmain = new JLabel("Main Page");
MainPanel.add(jlmain);
timezone = showTime(new Locale("en", "US"));
JLabel jltime = new JLabel(" " + timezone);
MainPanel.add(jltime);
MainManager.add(MainPanel, "main");
/* Filling the thickness panel */
num_of_hits = 0;
next_index = 0;
/* fill in with ero values for everything*/
/*display the figure*/
ThicknessPanel.add(thick_figure);
JLabel blanklabel = new JLabel(" ");
ThicknessPanel.add(blanklabel);
JButton build_fig = new JButton("Draw Figure");
build_fig.addActionListener(
new ActionListener() { // anonymous inner class
public void actionPerformed( ActionEvent e )
if ( num_of_hits == 0 )
/* draw figure based on first 20 points in the array */
next_index = num_of_rec;
else
if ( num_of_hits > 3 )
JOptionPane.showMessageDialog(null,"No more data to draw","Error Drawing",JOptionPane.ERROR_MESSAGE);
else
/* draw the figure starting the data from index 20*/
next_index = next_index + num_of_rec;
num_of_hits += 1;
ThicknessPanel.add(build_fig);
MainManager.add(ThicknessPanel, "thickness");
/* filling the database panel */
label1 = new JLabel(" ",SwingConstants.CENTER);
welcome_label = new JLabel(" Database Page ",SwingConstants.CENTER);
label2 = new JLabel(" ",SwingConstants.CENTER);
fieldsPanel.add( label1 );
fieldsPanel.add( welcome_label );
fieldsPanel.add( label2 );
field_label = new JLabel(" Enter your name: ");
data_entry = new JTextField( 10 );
sub_panel.add( field_label );
sub_panel.add( data_entry );
fieldsPanel.add( sub_panel );
JButton add_data = new JButton( "Add me" );
add_data.addActionListener(
new ActionListener() { // anonymous inner class
public void actionPerformed( ActionEvent e )
try {
Statement statement = connection.createStatement();
String get_field;
get_field = data_entry.getText();
String query = "INSERT INTO data (anyField) VALUES ('"+get_field+"')";
int result1 = statement.executeUpdate( query );
if ( result1 == 1 )
JOptionPane.showMessageDialog(null, "Thanks for the info..."," Data Entry Success",JOptionPane.INFORMATION_MESSAGE);
data_entry.setText(" ");
else
JOptionPane.showMessageDialog(null, "Sorry, your name was not added...","Data entry error",JOptionPane.ERROR_MESSAGE);
catch ( SQLException sqlex ) {
// process SQLExceptions here
sqlex.printStackTrace();
System.out.println( "Connection UN Suucessfull");
catch ( Exception ex ) {
// process remaining Exceptions here
ex.printStackTrace();
System.out.println( "Connection UN Suucessfull");
fieldsPanel.add(add_data);
MainManager.add(fieldsPanel, "data_base");
/* display time */
Timer timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent actionevent)
timezone = showTime(new Locale("en", "US"));
setTitle("PHOENIX MACHINERY s.a.l " + timezone);
timer.start();
public static void main(String args[])
FinalMachine finalmachine = new FinalMachine();
finalmachine.setSize(500, 500);
ImageIcon imageicon = new ImageIcon("images/pc.gif");
finalmachine.setIconImage(imageicon.getImage());
finalmachine.show();
public static String showTime(Locale locale)
java.util.Date date = new java.util.Date();
byte byte0 = 2;
DateFormat dateformat = DateFormat.getTimeInstance(byte0, locale);
String s = dateformat.format(date);
return s;
/* Thread loadData starts here */
public class loadData extends Thread
public void run()
try {
readMyFile();
read_flag = 1;
notify();
catch( Exception x )
System.out.println("The following error occured in LoadData thread : "+x.toString() );
} // run() ends here
/* method read file inside thread loadData */
void readMyFile() {
String record = " ";
recCount = 0;
try {
tem_file = new File("mydata.dat");
data_file = new FileReader(tem_file);
b_data_file = new BufferedReader( data_file );
record = new String();
while ( (record = b_data_file.readLine()) != null ) {
dataBuffer[recCount] = Integer.parseInt(record);
recCount += 1; }
b_data_file.close();
catch (IOException e) {
System.out.println("Uh oh, got an IOException error!");
e.printStackTrace();
} // end of readMyFile()
} // thread loadData ends
public class setData extends Thread {
public void run()
try {
while ( !read_flag ) {
try { wait(); }
catch( InterruptedException e ) {
e.printStackTrace();
} // end while
for(int index = 0; index < 60; index++)
System.out.println("Array["+index+"] = "+dataBuffer[index]);
catch( Exception x )
System.out.println("The following error occured in LoadData thread : "+x.toString() );
} // run() ends here
the only added thing is the setData thread, i want this thread to start printing out the array whenever, loadData thread has finished filling the data inside the array please i need ur help. -
How to leave full-screen view in Acrobat LE on HTC Touch Diamond?
Hello
I have entered full-screen mode in Adobe Acrobat LE on my HTC Touch Diamond, but I cannot leave full-screen mode. There is nowhere on the screen that gives me a button to leave full-screen mode?!
I have tried using the buttons below the touch-screen but I have found nothing that works.
How do I leave full-screen mode??Hello again.
Well I have tried almost everything with the stylus: Zoom operations (rotations), tapping the screen, pressing and holding, double tapping... nothing allows me to exit fullscreen nor get any on-screen menus to appear!
I must admit that I am very new to the HTC Touch Diamond so maybe I am being stupid, but I really can't find any way of getting any menus or anything else to show up once I have entered full-screen viewing. My only option is to exit Acrobat by pressing the back button below the touch screen, and then I of course leave Acrobat completely.
Please tell me how exactly I must use the stylus to exit fullscreen?
Thank you :-) -
Rounding to nearest decimals--VERY URGENT
Hi all,
I am encountering a serious production issue. On the FB60 screen when I enter the amounts in the line items and select the the respective tax code, my system calculates the tax amount as $0.06 where as when I calculate on my calculator it is coming up as 0.0565. Because of this my total balance is offsetting by 1 cent ($0.01). I want my SAP system also to round off to $0.0565 instead of $0.06. Is there any way to do this setting. I know I can change the value manually under tax tab. But, there are so many invoices like this and calculating the tax manually and then entering the right decimal value in the tax tab will not serve my purpose.
PLease help me with this as it is a very urgent issue.
I would surely award points for any kind of positive help.
Thank you,
SONYHi,
As far as my knowledge goes SAP bydefault rounds off to 2 digits. If you want any changes in that you will have to take the help of ABAPer and write the routine to change the number of decimal points.
Regards
Santosh Hegde -
Personnel Data Iview Error (It's very Urgent)
Hi All,
Personal Data
Critical Error
A critical error has occured. Processing of the service had to be terminated. Unsaved data has been lost.
Please contact your system administrator.
failed to create or init instance of model 'com.sap.xss.hr.per.in.pdata.model.HRXSS_PER_P0002_IN' in scope APPLICATION_SCOPE with instanceId 'null'
Caused by: com.sap.tc.webdynpro.progmodel.model.api.WDModelException: failed to create instance of model 'com.sap.xss.hr.per.in.pdata.model.HRXSS_PER_P0002_IN'
at com.sap.tc.webdynpro.progmodel.model.api.WDModelFactory.getNewModelInstance(WDModelFactory.java:392)
at com.sap.tc.webdynpro.progmodel.model.api.WDModelFactory.getOrCreateModelInstanceFromScopeMaintainer(WDModelFactory.java:329)
... 65 more
Caused by: com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: no jcoMetadata found for RFC function 'HRXSS_PER_GET_F4_P0002_IN'! Please verify, that your model is consistent with the ABAP backend: 'EC6'.
Hi Please help me to solve this error it's very urgent ?
thanks and regards,
Phanikumar.Hi Ashutosh Gulkhobre,
I coppied the dump from the ST22.
Now please tell me solution fro this error ?
Runtime Errors OBJECTS_OBJREF_NOT_ASSIGNED_NO
Exception CX_SY_REF_IS_INITIAL
Date and Time 27.06.2007 09:54:55
Short text
Access via 'NULL' object reference not possible.
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLHRXSS_PER_MAC" had to be terminated because it
has
come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
caught in
procedure "HRXSS_PER_CLEANUP" "(FUNCTION)", nor was it propagated by a RAISING
clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
You attempted to use a 'NULL' object reference (points to 'nothing')
access a component.
An object reference must point to an object (an instance of a class)
before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using the
CLEAR statement.
How to correct the error
Probably the only way to eliminate the error is to correct the program.
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"OBJECTS_OBJREF_NOT_ASSIGNED_NO" "CX_SY_REF_IS_INITIAL"
"SAPLHRXSS_PER_MAC" or "LHRXSS_PER_MACU04"
"HRXSS_PER_CLEANUP"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
The exception must either be prevented, caught within proedure
"HRXSS_PER_CLEANUP" "(FUNCTION)", or its possible occurrence must be declared
in the
RAISING clause of the procedure.
To prevent the exception, note the following:
System environment
SAP-Release 700
Application server... "ptgsap10"
Network address...... "192.168.1.18"
Operating system..... "Windows NT"
Release.............. "5.2"
Hardware type........ "2x Intel 80686"
Character length.... 16 Bits
Pointer length....... 32 Bits
Work process number.. 0
Shortdump setting.... "full"
Database server... "PTGSAP10"
Database type..... "ORACLE"
Database name..... "EC6"
Database user ID.. "SAPSR3"
Char.set.... "C"
SAP kernel....... 700
created (date)... "Aug 29 2006 00:18:21"
create on........ "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
Database version. "OCI_10201_SHARE (10.2.0.1.0) "
Patch level. 75
Patch text.. " "
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
SAP database version. 700
Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
Memory consumption
Roll.... 8176
EM...... 2090448
Heap.... 0
Page.... 0
MM Used. 1208256
MM Free. 880672
User and Transaction
Client.............. 001
User................ "ESS_USER1"
Language Key........ "E"
Transaction......... " "
Program............. "SAPLHRXSS_PER_MAC"
Screen.............. "SAPMSSY1 3004"
Screen Line......... 2
Information on caller of Remote Function Call (RFC):
System.............. "########"
Database Release.... 645
Kernel Release...... 700
Connection Type..... "E" (2=R/2, 3=ABAP System, E=Ext., R=Reg. Ext.)
Call Type........... "synchron and non-transactional (emode 0, imode 0)"
Inbound TID.........." "
Inbound Queue Name..." "
Outbound TID........." "
Outbound Queue Name.." "
Client.............. "###"
User................ "############"
Transaction......... " "
Call Program........." "
Function Module..... "HRXSS_PER_CLEANUP"
Call Destination.... "ptgsap10_EC6_10"
Source Server....... "EPSAND1"
Source IP Address... "192.168.1.36"
Additional information on RFC logon:
Trusted Relationship " "
Logon Return Code... 0
Trusted Return Code. 0
Note: For releases < 4.0, information on the RFC caller are often
only partially available.
Information on where terminated
Termination occurred in the ABAP program "SAPLHRXSS_PER_MAC" - in
"HRXSS_PER_CLEANUP".
The main program was "SAPMSSY1 ".
In the source code you have the termination point in line 13
of the (Include) program "LHRXSS_PER_MACU04".
The termination is caused because exception "CX_SY_REF_IS_INITIAL" occurred in
procedure "HRXSS_PER_CLEANUP" "(FUNCTION)", but it was neither handled locally
nor declared
in the RAISING clause of its signature.
The procedure is in program "SAPLHRXSS_PER_MAC "; its source code begins in
line
1 of the (Include program "LHRXSS_PER_MACU04 ".
Source Code Extract
Line SourceCde
1 FUNCTION hrxss_per_cleanup.
2 *"----
3 ""Local interface:
4 *" EXPORTING
5 *" VALUE(MESSAGES) TYPE BAPIRETTAB
6 *"----
7
8 * CALL METHOD mac_adapter->cleanup
9 * IMPORTING
10 * messages = messages.
11
12 * TRY.
>>>>> CALL METHOD xss_adapter->cleanup
14 .
15 * CATCH CX_HRPA_VIOLATED_ASSERTION .
16 * ENDTRY.
17 IF NOT xss_adapter2 IS INITIAL.
18 CALL METHOD xss_adapter2->cleanup.
19 ENDIF.
20
21 ENDFUNCTION.
Contents of system fields
Name Val.
SY-SUBRC 0
SY-INDEX 2
SY-TABIX 13
SY-DBCNT 30
SY-FDPOS 0
SY-LSIND 0
SY-PAGNO 0
SY-LINNO 1
SY-COLNO 1
SY-PFKEY
SY-UCOMM
SY-TITLE CPIC and RFC Control
SY-MSGTY
SY-MSGID
SY-MSGNO 000
SY-MSGV1
SY-MSGV2
SY-MSGV3
SY-MSGV4
SY-MODNO 0
SY-DATUM 20070627
SY-UZEIT 095455
SY-XPROG SAPLHRXSS_PER_MAC
SY-XFORM HRXSS_PER_CLEANUP
Active Calls/Events
No. Ty. Program Include Line
Name
4 FUNCTION SAPLHRXSS_PER_MAC LHRXSS_PER_MACU04 13
HRXSS_PER_CLEANUP
3 FORM SAPLHRXSS_PER_MAC LHRXSS_PER_MACU04 1
HRXSS_PER_CLEANUP
2 FORM SAPMSSY1 SAPMSSY1 85
REMOTE_FUNCTION_CALL
1 MODULE (PBO) SAPMSSY1 SAPMSSY1 30
%_RFC_START
Chosen variables
Name
Val.
No. 4 Ty. FUNCTION
Name HRXSS_PER_CLEANUP
MESSAGES
Table[initial]
SY-XFORM
HRXSS_PER_CLEANUP
455555545544444552222222222222
82833F052F3C51E500000000000000
000000000000000000000000000000
000000000000000000000000000000
%_DUMMY$$
2222
0000
0000
0000
XSS_ADAPTER2
F0000000
F0000000
No. 3 Ty. FORM
Name HRXSS_PER_CLEANUP
SYST-REPID
SAPLHRXSS_PER_MAC
5454455555545544422222222222222222222222
310C82833F052FD1300000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
%_%_MESSAGES
Table[initial]
No. 2 Ty. FORM
Name REMOTE_FUNCTION_CALL
%_DUMMY$$
2222
0000
0000
0000
SY-REPID
SAPMSSY1
5454555322222222222222222222222222222222
310D339100000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
SYST-REPID
SAPMSSY1
5454555322222222222222222222222222222222
310D339100000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
HEADER
000000000000
000000000000
TYPE
3
0000
3000
SY-XPROG
SAPLHRXSS_PER_MAC
5454455555545544422222222222222222222222
310C82833F052FD1300000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
%_ARCHIVE
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
RC
0
0000
0000
SY-XFORM
HRXSS_PER_CLEANUP
455555545544444552222222222222
82833F052F3C51E500000000000000
000000000000000000000000000000
000000000000000000000000000000
%_SPACE
2
0
0
0
No. 1 Ty. MODULE (PBO)
Name %_RFC_START
%_PRINT
000 0###
2222333222222222222222222222222222222222222222222222222222222222222222222222222222222222223000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
RFCTYPE_INTERNAL
3
0000
3000
Internal notes
The termination was triggered in function "method_call_iref"
of the SAP kernel, in line 2203 of the module
"//bas/700_REL/src/krn/runt/abmethod.c#7".
The internal operation just processed is "METH".
Internal mode was started at 20070627095455.
Active Calls in SAP Kernel
Lines of C Stack in Kernel (Structure Differs on Each Platform)
SAP (R) - R/3(TM) Callstack, Version 1.0
Copyright (C) SAP AG. All rights reserved.
Callstack without Exception:
App : disp+work.EXE (pid=24080)
When : 6/27/2007 9:54:55.565
Threads : 2
Computer Name : PTGSAP10
User Name : SAPServiceEC6
Number of Processors: 2
Processor Type: x86 Family 6 Model 11 Stepping 1
Windows Version : 5.2 Current Build: 3790
State Dump for Thread Id 6cd0
eax=000a7358 ebx=00000464 ecx=00000248 edx=00000000 esi=00000464 edi=00000000
eip=7c82ed54 esp=0549c640 ebp=0549c6b0 iopl=0 nv up ei ng nz ac po cy
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00200297
function : KiFastSystemCallRet
7c82ed54 c3 ret
7c82ed55 8da42400000000 lea esp,[esp] ss:0549c640=7c822124
7c82ed5c 8d642400 lea esp,[esp] ss:27f2ac53=????????
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
0549c6b0 77e6ba12 00000464 0001d4c0 00000000 0549c6e8 ntdll!KiFastSystemCallRet
0549c6c4 0101f939 00000464 0001d4c0 00000001 7c38b5c8 kernel32!WaitForSingleObject
0549c6e8 005641c2 005641fb 7c38b5c8 7c38b5c8 7c38b5c8 disp+work!NTDebugProcess [ntstcdbg.c (501)]
0549c6ec 005641fb 7c38b5c8 7c38b5c8 7c38b5c8 01d87888 disp+work!NTStack [dptstack.c (1367)]
0549c708 0056422f 7c38b5c8 00000000 0085f2b9 7c38b5c8 disp+work!CTrcStack2 [dptstack.c (352)]
0549c714 0085f2b9 7c38b5c8 00000000 005f0059 00300030 disp+work!CTrcStack [dptstack.c (182)]
0549c738 008626fb 3ccf0c10 00008006 00000000 00660bd8 disp+work!rabax_CStackSave [abrabax.c (7020)
0549cfe0 0067f9fc 01285324 012852e4 0000089b 2054de20 disp+work!ab_rabax [abrabax.c (1243)]
0549d010 006914a8 00000003 3cda5308 00000000 0549d078 disp+work!method_call_iref [abmethod.c (2203
0549d078 007c8d1e 00000000 3cda5308 0549d1c4 3cda67e8 disp+work!ab_extri [abextri.c (552)]
0549d08c 008433d6 00000000 3cda6768 0059fdb0 3cda64b4 disp+work!ab_xevent [abrunt1.c (281)]
0549d098 0059fdb0 3cda64b4 00000008 3cda6768 00000000 disp+work!ab_dstep [abdynpro.c (491)]
0549d1c4 005a2ae2 3cda5308 3cda5308 0549fd04 005a2654 disp+work!dynpmcal [dymainstp.c (2394)]
0549d1d4 005a2654 3cda5308 3cda5308 00000003 0549fd04 disp+work!dynppbo0 [dymainstp.c (542)]
0549d1f0 00577116 3cda5308 00000004 00000000 0000001a disp+work!dynprctl [dymainstp.c (359)]
0549fd04 004741c6 0000001a 00000001 00000001 0049792f disp+work!dynpen00 [dymain.c (1464)]
0549fd14 0049792f 00000004 00000000 00000003 00000002 disp+work!Thdynpen00 [thxxhead.c (4683)]
0549fee0 00497ead 00000001 00000000 00000000 00430000 disp+work!TskhLoop [thxxhead.c (4395)]
0549ff00 004214f1 00000000 00000000 7ffd5000 0549ff60 disp+work!ThStart [thxxhead.c (1153)]
0549ff14 00401080 00000003 056368d8 00000001 00000000 disp+work!DpMain [dpxxdisp.c (1119)]
0549ff60 011bf720 00000003 056368d8 056378c8 01c05000 disp+work!nlsui_main [thxxanf.c (82)]
0549ffc0 77e523cd 00000000 00000000 7ffd5000 80938fd6 disp+work!wmainCRTStartup [crtexe.c (395)]
0549fff0 00000000 011bf5dd 00000000 00905a4d 00000003 kernel32!IsProcessorFeaturePresent
State Dump for Thread Id 6408
eax=00000001 ebx=00000103 ecx=0770fee8 edx=7c82ed54 esi=00000000 edi=00000000
eip=7c82ed54 esp=0770fec0 ebp=0770ff04 iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
function : KiFastSystemCallRet
7c82ed54 c3 ret
7c82ed55 8da42400000000 lea esp,[esp] ss:0770fec0=7c821514
7c82ed5c 8d642400 lea esp,[esp] ss:2a19e4d3=????????
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
0770ff04 0110e0b7 000006e0 00000000 00000000 059ca9d8 ntdll!KiFastSystemCallRet
0770ff84 7c349565 00000000 00000000 00000000 0563a508 disp+work!SigIMsgFunc [signt.c (594)]
0770ffb8 77e66063 0563a508 00000000 00000000 0563a508 MSVCR71!endthreadex
0770ffec 00000000 7c3494f6 0563a508 00000000 00000000 kernel32!GetModuleFileNameA
List of ABAP programs affected
Index Typ Program Group Date Time Size Lang.
0 Prg SAPMSSY1 0 11.04.2005 09:27:15 21504 E
1 Prg SAPLHRXSS_SER_AUTHORITHY_CHECK 1 13.02.2005 19:00:30 16384 E
2 Prg SAPLASTAT_TRIG 2 09.09.2004 14:18:33 13312 E
3 Typ ASTAT_TYP2 0 10.11.1998 05:35:18 2048
4 Typ ASTAT_TYP1 0 30.11.1998 15:54:16 2048
5 Prg SAPLSAUTHTRACE 5 07.03.2005 08:51:05 57344 E
6 Typ USOBHASH 0 02.07.2003 13:15:24 3072
7 Prg SAPLSECH 7 05.07.2005 13:10:18 26624 E
8 Typ CVERS 0 09.11.2000 14:05:49 2048
9 Prg SAPLHRXSS_PER_MAC 9 10.02.2004 14:21:15 49152 E
10 Prg CX_SY_REF_IS_INITIAL==========CP 10 05.07.2005 13:10:16 10240 E
11 Typ SCX_SRCPOS 0 18.05.2004 14:07:11 2048
12 Prg CX_DYNAMIC_CHECK==============CP 12 05.07.2005 13:10:16 10240 E
13 Prg CX_ROOT=======================CP 13 05.07.2005 13:10:16 11264 E
14 Prg CX_NO_CHECK===================CP 14 05.07.2005 13:10:16 10240 E
15 Prg CX_SY_NO_HANDLER==============CP 15 05.07.2005 13:10:16 10240 E
16 Typ SYST 0 09.09.2004 14:18:12 31744
Directory of Application Tables
Name Date Time Lngth
Val.
Program SAPMSSY1
SYST . . : : 00004612
\0\0\0\0\x000D\0\x000F\0\0\0\0\0\0\0\0\0\0\0\0\0\x001E\0\0
ABAP Control Blocks (CONT)
Index Name Fl PAR0 PAR1 PAR2 PAR3 PAR4 PAR5 PAR6 Source Code Line
246 FUNC 03 0020 LHRXSS_PER_MACU03 1
247 PAR2 02 0000 001B C000 LHRXSS_PER_MACU03 1
249 FUNC 13 0003 LHRXSS_PER_MACU03 1
250 PAR2 01 0000 0011 C001 LHRXSS_PER_MACU03 1
252 FUNC FF 0000 LHRXSS_PER_MACU03 1
253 ENDF 00 0000 LHRXSS_PER_MACU03 1
254 -
00 0000 LHRXSS_PER_MACU03 1
255 STCK 02 C001 LHRXSS_PER_MACU03 1
256 CPOP 00 0000 LHRXSS_PER_MACU03 1
257 -
00 0000 LHRXSS_PER_MACU03 1
258 FUNP 3E 0000 0011 8000 0000 8000 0000 0000 LHRXSS_PER_MACU04 1
262 FUNP 80 0000 0000 0000 0000 0000 0000 0000 LHRXSS_PER_MACU04 1
>>>>> METH 03 0000 0000 8006 0000 0000 0000 0000 LHRXSS_PER_MACU04 13
270 PAR2 00 0000 0001 0000 LHRXSS_PER_MACU04 13
272 CMPS 20 024B 001B 001B LHRXSS_PER_MACU04 17
274 BRAF 05 0007 LHRXSS_PER_MACU04 17
275 METH 03 0000 0001 8006 0000 0000 0000 0000 LHRXSS_PER_MACU04 18
279 PAR2 00 0000 0001 0000 LHRXSS_PER_MACU04 18
281 FUNE 00 0000 LHRXSS_PER_MACU04 21
282 -
00 0000 LHRXSS_PER_MACU04 21
Thanks and Regards,
Phanikumar
Maybe you are looking for
-
How to Edit a single field in Report
Hi Experts, I am new in ABAP and need your help while creating a report. My query is, am creating a ALV report and in that report i want only a single field is editable. For example, suppose in sales order report, there is 20 fiel
-
Settlement to Material Based on Grade
Hi guys, Our client has the following requirement: Suppose that they have 2 material code: X and Y, both are the same material, but are separated based on grade (quality). Both use the same BOM and routing. Initially, when creating production order,
-
AMD Catalyst and XServer 1.14
Hello I am using the proprietary video driver, tried using xserver 1.14 while it was in testing but it broke my system (i downgraded xserver afterwards). Catalyst does not support the new xserver which was pushed to the standard repos today. When I t
-
Windows 7 Driver for Pavillion 15 P239SA
The notebook came with Windows 8.1 that is really the worst Windows I've ever seen (even worse than Millenium and Vista. Good job MS!). Also, most of my softwares don't work on W8. I've installed Windows 7 but need help with the drivers. Was really s
-
Front Row not finding iTunes?
I recently moved all my music to an external hard drive, and since then, I haven't been able to use Front Row. The application starts up perfectly, but when I go to find any music to play, it says there is no music to be found. The message that pops