Capture *"UNCHANGED"*screen values to EXIT.
Hi all...
I want all the screen values changed+unchanged to my exit.
PA30-0008-BSGRD field.
In exit PBAS0001-EXIT0002.
When I change the bsgrd field, i can get the value in exit.
But when I dont change the field, I am getting the previous value.
Ex, intitially 100 is defaulted to BSGRD field.
Then I amm giving a value to it say 60 using exit.
Then when I again come to exit, I am getting the 100, not 60..
Now i cahnge the value to 50, and came to exit, I am getting 50...
Without changing can i get the 60 ??? instead of 100???
Regards,
Veeranji Reddy P.
Thanku
Similar Messages
-
How to capture selection-screen values
Hi,
How to capture selection-screen values when user pressing F3 or Back button after the display of report.
Regards,
Bujji.Hi Bujji,
select-option are actually ranges or more general internal tables with the structure:
SIGN: 'I'nclusive or 'E'xclusive
OPTION: 'EQ', 'BT', 'NE', 'GE', 'CP', ....
LOW: low value of type of the curresponding "FOR table-field"
HIGH: high value of type of the curresponding "FOR table-field"
You may just code:
TABLES: mara.
SELECT-OPTIONS s_matnr FOR mara-matnr.
LOOP AT s_matnr.
WRITE: / s_matnr-sign,
s_matnr-option,
s_matnr-low,
s_matnr-high.
ENDLOOP.
If you find my answer useful, please don't forget the reward.
Regards,
Juergen -
Screen value not being captured in Report
Hi,
I have a designed a report program with multiple tabs. When i enter data into the selection fields, its not storing the values during the start of selection event. When i save the values as variant and then use it, the program works perfectly.
Can some one tel me what peice of code can be added to read the screen values during start of selection?
Regards,
NiyazHi Masood,
Thanks for your reply.
Any ways thats solved by reading the value from the form_fields table in the
DO_HANDLE_DATA event of the view.
Masood,
I have a different question as
I have a requirement wherein I have to
get a field similar to NOTES field we see in the Web UI , I tried using the textbox but i dont think we can process data inside the textbox.Is there any other way by which I can achieve this requirement.
Any suggestions will be highly apprecited.
Regards,
Sijo -
How to capture the selected values from module pool dialog list box !
Hi experts,
Can anyone help me out in capturing the values from the list box.
i am able to set the values in the list box.But i am not able to capture the selected value from the list box. Always the list box name is getting as "space"
I also tried in using the FM "VRM_GET_VALUES" but it is retireving all the values. Is there is any flag for filttering out the selected value.
Your inputs are appreciated.
Thanks,
Vijay.Along with the PBO and PAI event, add a POV event in the flow logic of the screen
DEMO_DROPDOWN_LIST_BOX -is a good demo example.
PROCESS ON VALUE-REQUEST.
FIELD structure_name-field_name MODULE create_dropdown_box.
In the report :
MODULE create_dropdown_box INPUT.
SELECT carrid carrname
FROM scarr
INTO CORRESPONDING FIELDS OF TABLE itab_carrid.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CARRID'
value_org = 'S'
TABLES
value_tab = itab_carrid
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
ENDMODULE.
In the layout, assign a Function Code , for eg : 'SELECTED' to the listbox and lets say name of the field is SDYN_CONN-CARRID. So in the PAI module,
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'SELECTED'.
MESSAGE i888(sabapdocu) WITH sdyn_conn-carrid.
ENDCASE.
ENDMODULE.
sdyb_conn-carrid will contain your selected field -
JOB_SUBMIT with Selection Screen Value
I have a requirement :
with other select-options and parameters, i have two radio button, Foreground and Background:
when Background radio button will be selected program should be scheduled as a background job.
How i will pass selection screen value in JOB_SUBMIT ??
Cheers.
SrikantaHi ,
Try This
*& Report ZMMVB_PG_SL_CHANGE_BDC
REPORT zmmvb_pg_sl_change_bdc.
TABLES : mara,t133a,marc.
DATA i_t133a LIKE t133a OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF itab OCCURS 0,
matnr LIKE marc-matnr,
werks LIKE marc-werks,
ekgrp LIKE marc-ekgrp,
END OF itab.
DATA : BEGIN OF itab1 OCCURS 0,
matnr LIKE marc-matnr,
werks LIKE marc-werks,
dispo LIKE marc-dispo,
END OF itab1.
DATA : fname LIKE ibipparms-path ,
ename TYPE string,
mode.
DATA: BEGIN OF it_t133a OCCURS 0,
bilds LIKE t133a-bilds,
pstat LIKE t133a-pstat,
guifu LIKE t133a-guifu,
auswg LIKE t133a-auswg,
END OF it_t133a.
DATA: ctr TYPE i,
ctr_s(2) TYPE n,
wrk(35),
ch(1),
viewno(2) TYPE n,
guifu LIKE t133a-guifu.
DATA: BEGIN OF it_views OCCURS 30.
INCLUDE STRUCTURE mbildtab. " Selection Views
DATA: END OF it_views.
DATA bdc_data LIKE bdcdata OCCURS 0 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-000.
PARAMETERS : ek RADIOBUTTON GROUP rg1 ,
sl RADIOBUTTON GROUP rg1
SELECTION-SCREEN END OF BLOCK b.
SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-001.
PARAMETERS : fg RADIOBUTTON GROUP rg2 DEFAULT 'X',
bg RADIOBUTTON GROUP rg2.
SELECTION-SCREEN END OF BLOCK c.
START-OF-SELECTION.
IF fg = 'X'.
mode = 'A'.
ELSEIF bg = 'X'.
mode = 'E'.
ENDIF.
IF ek = 'X'.
guifu = 'SP09'.
PERFORM bdc_ekgrp_change.
ELSEIF sl = 'X'.
guifu = 'SP12'.
PERFORM bdc_mrpcontroller_change.
ENDIF.
*& Form BDC_EKGRP_CHANGE
* text
* --> p1 text
* <-- p2 text
FORM bdc_ekgrp_change .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = sy-repid
dynpro_number = sy-dynnr
field_name = ' '
IMPORTING
file_name = fname.
IF NOT ( fname IS INITIAL ) .
ename = fname .
ENDIF.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = ename
filetype = 'DAT'
TABLES
data_tab = itab
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF itab[] IS NOT INITIAL.
LOOP AT itab.
REFRESH bdc_data.
IF itab-matnr NA sy-abcde AND itab-matnr NA '/*-_.'.
UNPACK itab-matnr TO itab-matnr.
ELSE.
TRANSLATE itab-matnr TO UPPER CASE.
ENDIF.
SELECT SINGLE * FROM mara WHERE matnr = itab-matnr.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
PERFORM view_routine.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RMMG1-MATNR'
itab-matnr.
CONCATENATE 'MSICHTAUSW-DYTXT(' viewno ')' INTO wrk.
CONDENSE wrk NO-GAPS.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
wrk. "'MSICHTAUSW-DYTXT(08)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
CONCATENATE 'MSICHTAUSW-KZSEL(' viewno ')' INTO wrk.
CONDENSE wrk NO-GAPS.
PERFORM bdc_field USING wrk "'MSICHTAUSW-KZSEL(08)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'RMMG1-WERKS'
itab-werks.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
* PERFORM bdc_field USING 'MAKT-MAKTX'
* '"HEX BOLT M16X1.5X100,B8.8,BP"'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-EKGRP'.
* PERFORM bdc_field USING 'MARA-MEINS'
* 'NOS'.
PERFORM bdc_field USING 'MARC-EKGRP'
itab-ekgrp.
* PERFORM bdc_field USING 'MARA-MATKL'
* '1702'.
* PERFORM bdc_field USING 'MARC-USEQU'
* '3'.
* PERFORM bdc_field USING 'MARC-KORDB'
* 'X'.
CALL TRANSACTION 'MM02' USING bdc_data MODE mode UPDATE 'S'.
ENDLOOP.
ENDIF.
ENDFORM. " BDC_EKGRP_CHANGE
*& Form BDC_MRPCONTROLLER_CHANGE
* text
* --> p1 text
* <-- p2 text
FORM bdc_mrpcontroller_change .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = sy-repid
dynpro_number = sy-dynnr
field_name = ' '
IMPORTING
file_name = fname.
IF NOT ( fname IS INITIAL ) .
ename = fname .
ENDIF.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = ename
filetype = 'DAT'
TABLES
data_tab = itab1
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF itab1[] IS NOT INITIAL.
LOOP AT itab1.
REFRESH bdc_data.
IF itab1-matnr NA sy-abcde AND itab1-matnr NA '/*-_.'.
UNPACK itab1-matnr TO itab1-matnr.
ELSE.
TRANSLATE itab1-matnr TO UPPER CASE.
ENDIF.
SELECT SINGLE * FROM mara WHERE matnr = itab1-matnr.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
PERFORM view_routine.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RMMG1-MATNR'
itab1-matnr.
CONCATENATE 'MSICHTAUSW-DYTXT(' viewno ')' INTO wrk.
CONDENSE wrk NO-GAPS.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
wrk. "'MSICHTAUSW-DYTXT(11)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
CONCATENATE 'MSICHTAUSW-KZSEL(' viewno ')' INTO wrk.
CONDENSE wrk NO-GAPS.
PERFORM bdc_field USING wrk "'MSICHTAUSW-KZSEL(11)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'RMMG1-WERKS'
itab1-werks.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
* PERFORM bdc_field USING 'MAKT-MAKTX'
* '"HEX BOLT M16X1.5X100,B8.8,BP"'.
* PERFORM bdc_field USING 'MARA-MEINS'
* 'NOS'.
* PERFORM bdc_field USING 'MARC-DISGR'
* '701'.
* PERFORM bdc_field USING 'MARC-EKGRP'
* 'A00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-DISPO'.
* PERFORM bdc_field USING 'MARC-DISMM'
* 'PD'.
PERFORM bdc_field USING 'MARC-DISPO'
itab1-dispo.
* PERFORM bdc_field USING 'MARC-DISLS'
* 'MB'.
CALL TRANSACTION 'MM02' USING bdc_data MODE mode UPDATE 'S'.
ENDLOOP.
ENDIF.
ENDFORM. " BDC_MRPCONTROLLER_CHANGE
*& Form bdc_dynpro
* text
* -->PROGRAM text
* -->DYNPRO text
FORM bdc_dynpro USING program dynpro.
CLEAR bdc_data.
bdc_data-program = program.
bdc_data-dynpro = dynpro.
bdc_data-dynbegin = 'X'.
APPEND bdc_data.
ENDFORM. "BDC_DYNPRO
* Insert field *
FORM bdc_field USING fnam fval.
CLEAR bdc_data.
bdc_data-fnam = fnam.
bdc_data-fval = fval.
APPEND bdc_data.
ENDFORM. "BDC_FIELD
*& Form VIEW_ROUTINE
* text
* --> p1 text
* <-- p2 text
FORM view_routine .
CLEAR viewno.
SELECT * FROM t133a INTO CORRESPONDING FIELDS OF TABLE i_t133a
WHERE bilds = '21' AND guifu LIKE 'SP%' .
LOOP AT i_t133a .
ch = i_t133a-pstat.
IF mara-vpsta NA ch .
DELETE i_t133a .
CONTINUE .
ENDIF .
ENDLOOP.
SORT i_t133a BY guifu ASCENDING .
LOOP AT i_t133a .
viewno = viewno + 1 .
IF i_t133a-guifu = guifu .
EXIT .
ENDIF .
ENDLOOP .
ENDFORM. " VIEW_ROUTINE
Regards, -
How to capture the parameter value of Concurrent Program submited
Hi,
I would like to capture the Parameter value of Concurrent Program submitted through Submit Request screen based on that i want to return value.
When Conc prog "Payroll Run" along with parameter like "Pay Period" which has LOV attached to it, which has one coulumn named "End Date", this value selected needs to be captured. Can you please tell the Table name where the value is stored or Captured.
I want this value to be used in Fast Formula which will return the desired value to Input Value.
Actually in one of the Element I have Input Value as "Monthly Days" which should be populated with the "Number of days" in the period in which Payroll is being processed.
Thanks in advance.
RamHi,
fnd_concurrent_requests.argument_text stores the argument values in comma separated form. But check the prior response from thierry first - fnd_concurrent _requests is not the place you want to be getting things from as it can be purged and so you source data is gone!
Gareth
http://garethroberts.blogspot.com -
can any one suggest, how to capture the selection screen value on the selection screen itself.
ex : i have parameter (plant) on the selection screen, based on the plant entered by user i need to display the F4 help for the another parameter(MRP controller).
if the user enters plant 3218 then when requests for F4 help for the parameter MRP controller, then controller values related to that plant need to be displayed as F4 help.
i had done everything explaned above, but one problem i am facing.
after entering the plant on the selection screen i need to press the enter key, then if i request for F4 for MRP controller then i am getting the apprpriate values.
after entering plant if i didnot use enter key and request for F4 help for MRP controller then it is displaying no values.Hello Sippy
The ENTER causes the program flow to pass PAI followed by PBO of the selection-screen. This way the entered value becomes "known" to the report.
If you enter your plant, do NOT push ENTER and then call the next search help you have to read the entered value from the selection-screen yourself using fm DYNP_VALUES_READ.
For more details search the forums for this function module, e.g.:
[Regarding Custom F4 help|Regarding Custom F4 help;
Regards
Uwe -
How to pass selection screen value to LDB dynamic field.
Hello everybody,
In my program, I am using standard LDB(PSJ) for getting data. And there is a requirement that I have to display some dynamic fields on my selection screen like plant , person responsible ( which are mandatory also ) etc. and inside the program I have to fill those dynamic fields for which the user has entered the value in selection screen.
Could you please tell me how to pass some of selection screen values to ldb dynamic fields before GET statement.
Thanks !!!
Regards,
Mitra>
Pavan Bhamidipati wrote:
> Hi,
>
>
I have to fill those dynamic fields for which the user has entered the value in selection screen.
>
>
> This means that the user is going to enter the values in the selection screen for the dynamic field values so
>
> SET PARAMETERID 'XYZ' FIELD p_field.
>
> where p_field is a parameter on the selection screen
>
> Regards
> Pavan
You can capture the values selected through the dynamic selections using some of the functions modules below, just search the forum for the below FM's, perhaps you can find some sample code
FREE_SELECTIONS_EX_2_RANGE
FREE_SELECTIONS_EX_2_WHERE
FREE_SELECTIONS_RANGE_2_EX
FREE_SELECTIONS_RANGE_2_WHERE
FREE_SELECTIONS_WHERE_2_EX
FREE_SELECTIONS_WHERE_2_RANGE -
At selection-screen value- help
Hi All,
I have a requirement that based on a radio button one at selection-screen value-help is triggered and on based on a different radio button another at selection-screen value-help should be triggered.
can it be achieved.
Regards,
JeetuAT SELECTION-SCREEN - selscreen_event
Syntax
| { ON {para|selcrit} }
| { ON END OF selcrit }
| { ON BLOCK block }
| { ON RADIOBUTTON GROUP radi }
| { }
| { ON {HELP-REQUEST|VALUE-REQUEST}
| FOR {para|selcrit-low|selcrit-high} }
| { ON EXIT-COMMAND }.
Alternatives:
1. ... OUTPUT
2. ... ON {para|selcrit}
3. ... ON END OF selcrit
4. ... ON BLOCK block
5. ... ON RADIOBUTTON GROUP radi
6. ... { }
7. ... ON {HELP-REQUEST|VALUE-REQUEST} FOR
{para|selcrit-low|selcrit-high} }
8. ... ON EXIT-COMMAND
Effect
These additions allow individual evaluation of specific elements of the selection screens of the program. The information as to which selection has triggered the event is contained in the system field sy-dynnr.
Alternative 1
... OUTPUT
Effect
This event is triggered at the screen event PBO of a selection screen. In the event block, the selection screen can be prepared through assignments to the data objects of parameters and selection criteria and through dynamic screen modifications.
Note
The assignments to input fields in the event block AT SELECTION-SCREEN OUTPUT always affect the selection screen and overwrite the user inputs from previous displays of the same selection screen. Assignments in the event blocks LOAD-OF-PROGRAM oder INITIALIZATION, on the other hand, only have an effect at first program start.
Alternative 2
... ON {para|selcrit}
Effect
This event is triggered at the screen event PAI of a selection screen if the content of the input field of a parameter para or a line of a selection criterion selcrit was passed to the ABAP program. In the event block, the user input can be checked. Sending a warning or an error message in the event block makes the fields para and selcrit ready for input again.
No parameter that is defined as a radio button can be specified. For this purpose, the addition ON RADIOBUTTON GROUP is provided.
Note
If a user action takes place in the dialog box for the multiple selection of a selection criterion selcrit, the entries of the selection table are passed to the program, line by line. For each line, the event AT SELECTION-SCREEN ON selcrit is triggered.
Alternative 3
... ON END OF selcrit
Effect
This event is triggered after the selection table selcrit has been fully passed to the program after a user action in the dialog box for the multiple selection has taken place. In the event block, the entire selection table can be checked.
Alternative 4
... ON BLOCK block
Effect
This event is triggered at the screen event PAI of a selection screen if all the input fields of a block block of the selection screen were passed to the ABAP program. In the event block, the user inputs can be checked. Sending a warning or an error message in the event block makes all the fields of the block block ready for input again.
Alternative 5
... ON RADIOBUTTON GROUP radi
Effect
This event is triggered at the screen event PAI of a selection screen if all the fields of a radio button group radi of the selection screen were passed to the ABAP program. In the event block, the user input can be checked. Sending a warning or error message in the event block makes all the radion buttons of the block radi ready for input again.
Note
The individual fields of a radio button group are not passed individually and do not trigger the event AT SELECTION-SCREEN ON par.
Alternative 6
Effect
The event AT SELECTION-SCREEN itself is triggered as the last event of selection screen processing if all the input values were passed to the program. In this event block, all the user inputs can be checked. Sending a warning or an error message in the event block makes all the screen fields ready for input once again.
Alternative 7
... ON { HELP-REQUEST | VALUE-REQUEST } FOR
{para|selcrit-low|selcrit-high} }
Effect
The two events ON HELP-REQUEST and ON VALUE-REQUEST are triggered at the screen events POH and POV of a selection screen if - for the input field of a parameter para or one of the input fields of a selection criterion selcrit - the field help F1 or the input help F4 was called. Other selection events are not triggered.
In the event blocks, a self-defined field or input field can be programmed, which overrides any helps possibly defined in the ABAP Dictionary.
Notes
These event blocks can only be implemented for fields of the selection screen that are defined in the same ABAP program and not in a possibly linked logical database.
With the events for the field and input help, no data is transported between the selection screen and the ABAP program. As with general screens, suitable function modules must be used for these. The parameters and selection criteria changed for the input help are transported to the selection screen.
Alternative 8
... ON EXIT-COMMAND
Effect
This event is triggered if the user has called one of the functions Back, Exit or Cancel. In the event block, possible clean-up actions can be executed.
Example
In these executable programs, a standard selection screen and a further selection screen are defined. In the event blocks AT SELECTION-SCREEN, the inputs in the selection screens can be specially handled using the name p_carrid and the screen number in sy-dynnr.
REPORT demo_at_selection_screen.
Global data
DATA: sflight_tab TYPE TABLE OF sflight,
sflight_wa LIKE LINE OF sflight_tab.
Selection screens
PARAMETERS p_carrid TYPE spfli-carrid.
SELECTION-SCREEN BEGIN OF SCREEN 500.
SELECT-OPTIONS s_conn FOR sflight_wa-connid.
DATA s_conn_wa LIKE LINE OF s_conn.
SELECTION-SCREEN END OF SCREEN 500.
Handling selection screen events
AT SELECTION-SCREEN ON p_carrid.
IF p_carrid IS INITIAL.
MESSAGE 'Please enter a value' TYPE 'E'.
ENDIF.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD p_carrid
ID 'ACTVT' FIELD '03'.
IF sy-subrc = 4.
MESSAGE 'No authorization for carrier' TYPE 'E'.
ELSEIF sy-subrc <> 0.
MESSAGE 'Error in authority check' TYPE 'A'.
ELSE.
IF sy-ucomm = 'ONLI'.
CALL SELECTION-SCREEN '0500'.
ENDIF.
ENDIF.
AT SELECTION-SCREEN.
IF sy-dynnr = '0500'.
IF s_conn IS INITIAL.
MESSAGE 'Please enter values' TYPE 'W'.
ELSE.
SELECT *
FROM sflight
INTO TABLE sflight_tab
WHERE carrid = p_carrid AND
connid IN s_conn.
IF sy-subrc <> 0.
MESSAGE 'No flights found' TYPE 'E'.
ENDIF.
ENDIF.
ENDIF.
Main program
START-OF-SELECTION. -
Hi,
I would like to know if is possible capture Linux screens, in
order to produce Linux screencasts using Captivate 3.
I'm thinking about it. Are there ways to do it?
Thanks in advice.Hi again,
I don't actually use Linux. I was just suggesting an
alternate method that would work across operating systems.
Captivate works primarily by showing still images (individual
screen captures), which when viewed as a series of slides,
simulates the behavior of an application.
We take our still images as .PNG files using SnagIt on
Windows, but there are numerous alternatives for pretty much every
operating system.
I can't offer any recommendations for Linux, so I would
suggest doing a web search for "screen capture utility <linux
distribution>", where <linux distribution> is the name the
distribution you're looking to take screenshots in (i.e. Ubuntu,
Red Hat, etc.).
Since, as you noted, Captivate only works in Windows, the
basic idea would be this:
1) In Linux, launch the application you wish to capture.
2) Launch your screen capture utility in Linux (some
utilities are built into various Linux distributions, others
aren't... you'll need to decide which one you want to use).
3) In your Linux application, carry out the desired workflow,
taking a screen capture after EVERY change in your application
(every moust click, every text entry, every menu being selected,
screen data changing, etc.). This series of screenshots will be
used to recreate the process in Captivate.
4) Save each screen capture in .PNG format using a name that
reflects what the capture shows (such as
"main_screen__before_filemenu_clicked.png",
"main_screen_after_filemenu_clicked.png", and so on).
Depending on the process(es) you are documenting, you may end
up with a lot of images, so be consistent with your naming
convention and it will be easier to find the right image later.
I've found that I can pretty much rely on the creation date to
determine the order of screenshots, but every once in awhile I have
to go back and take one that I missed, at which point having a
detailed filename is very helpful.
5) After capturing all your screenshots, copy them to your
Windows machine. This can be done via a USB drive, burning them to
a CD, copying to a shared network location... whatever.
6) On the Windows machine, launch Captivate and create a new
project at the same size as the application you captured in Linux.
7) Insert each image as a background in Captivate (or, if
you're technically advanced, crop only the changed elements out of
the image and insert it as an image over an unchanged common
background).
8) Add a caption as needed to provide instructions to the
user.
9) Add any interactions needed to recreate the functionality
in the Linux application (buttons, click boxes etc.).
10) Insert a new slide and repeat steps 7-9 until you have
recreated the functionality of the original application using all
your static screenshots.
The process seems laborious at first, but you can really
start banging out the slides once you get the process down.
You don't get the automatic captions and automatic creation
of interactive objects that would come from capturing directly from
Captivate, but in our case, Captivate's built-in screen capture
tool does such a poor job with our particular applications that
we're better off doing everything ourselves.
Best of luck,
John -
System error on reading screen values
Hi ABAP'ers!!
When I try to unblock the vendor account in FK05 (unblock in all company codes) I get an error :
System error on reading screen values
Message no. F2 109
Would appreciate your suggestions/inputs!!
Thanks for your time!Hi VR,
in FK05 you cannot unlock vendor.through functionality only u can unblock the vendor.
It display error message.
For these changes ( for blocking / unblocking ) user exit will be triggerd.
Regards,
Narasimha -
Capture Selection-screen events
Dear SAP friends,
I have created OOP report.
At the runtime the program creates toolbar and adds pushbuttons to it.
Every button has fcode assigned.
On button click the below method is called.
The below statement "CALL SELECTION-SCREEN 1200 STARTING AT 10 10" calls selection screen as popup.
I need to capture when User closes the selection popup and when he clicks Cancel button located in the selection popup.
Please advise.
Regards
Tatyana.
METHOD handle_pushbutton_click.
CASE fcode.
WHEN 'CHECKS_EXP'.
CALL SELECTION-SCREEN 1200 STARTING AT 10 10.
PERFORM at_selection_1200.
CHECK w_continue = abap_true.
PERFORM build_options_range.
PERFORM build_options_norange.
PERFORM start_selection_1200.
PERFORM fcat_init_1200.
w_title = 'Checks -> Expenditures'.
PERFORM set_layout USING w_title.
PERFORM getdata_1200.
DESCRIBE TABLE lt_rpt LINES w_count. " Get number of records.
PERFORM populate_selection USING w_count.
ENDDCASE.Hello Tatyana
The following sample report ZUS_SDN_OO_REPORT_SELSCREEN should simulate your scenario.
If you push the EXECUTE button you will find ok-code='CRET'.
If you close the popup or push the CANCEL button ok-code=' ' (space; empty). This way you know that the popup was closed by the user.
*& Report ZUS_SDN_OO_REPORT_SELSCREEN
*& Thread: Capture Selection-screen events
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1205127"></a>
REPORT zus_sdn_oo_report_selscreen.
* CLASS lcl_myclass DEFINITION
CLASS lcl_myclass DEFINITION.
PUBLIC SECTION.
CLASS-DATA:
md_okcode TYPE ui_func.
CLASS-METHODS:
handle_pushbutton_click.
ENDCLASS. "lcl_myclass DEFINITION
* CLASS lcl_myclass IMPLEMENTATION
CLASS lcl_myclass IMPLEMENTATION.
METHOD handle_pushbutton_click.
DATA: ld_msg TYPE bapi_msg.
BREAK-POINT.
CLEAR: lcl_myclass=>md_okcode.
DO.
CALL SELECTION-SCREEN 1200 STARTING AT 10 10.
EXIT.
ENDDO.
CONCATENATE 'ok-code =' md_okcode INTO ld_msg
SEPARATED BY space.
MESSAGE ld_msg TYPE 'I'.
MESSAGE 'Continue after SelScreen' TYPE 'S'.
ENDMETHOD. "handle_pushbutton_click
ENDCLASS. "lcl_myclass IMPLEMENTATION
SELECTION-SCREEN BEGIN OF SCREEN 1200.
PARAMETERS:
p_bukrs TYPE bukrs.
SELECTION-SCREEN END OF SCREEN 1200.
AT SELECTION-SCREEN OUTPUT.
BREAK-POINT.
CLEAR: syst-ucomm.
AT SELECTION-SCREEN.
BREAK-POINT.
lcl_myclass=>md_okcode = syst-ucomm.
START-OF-SELECTION.
lcl_myclass=>handle_pushbutton_click( ).
END-OF-SELECTION.
Regards
Uwe -
Unable to capture the parameter values from a PL/SQL procedure
hi.
i'm trying to capture the parameter values of a PL/SQL procedure by calling inside a anonymous block but i'm getting a "reference to uninitialized collection error" ORA-06531.
Please help me regarding.
i'm using following block for calling the procedure.
declare
err_cd varchar2(1000);
err_txt VARCHAR2(5000);
no_of_recs number;
out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
cntr_var number:=0;
begin
rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
dbms_output.put_line('The error is ' ||err_cd);
dbms_output.put_line('The error is ' ||err_txt);
dbms_output.put_line('The cntr is ' ||cntr_var);
for incr in 1 .. OUT_SIGN_TAB.count
loop
cntr_var := cntr_var + 1 ;
Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN_TAB(incr).txn_type||','||OUT_SIGN_TAB(incr).objid);
end loop;
end;
Error is thrown on "for incr in 1 .. OUT_SIGN_TAB.count" this line
Following is some related information.
the 3rd parameter of the procedure is a out parameter. it is a type of a PL/SQL table (SEARCH_SIGN_TAB_TYPE) which is available in database as follows.
TYPE "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
TYPE "SEARCH_SIGN_TYPE" AS OBJECT
(ref_no VARCHAR2(22),
ciref_no VARCHAR2(352),
ac_no VARCHAR2(22),
txn_type VARCHAR2(301),
objid VARCHAR2(1024))............We don't have your rt843pq procedure, but when commenting that line out, everything works:
SQL> create TYPE "SEARCH_SIGN_TYPE" AS OBJECT
2 (ref_no VARCHAR2(22),
3 ciref_no VARCHAR2(352),
4 ac_no VARCHAR2(22),
5 txn_type VARCHAR2(301),
6 objid VARCHAR2(1024))
7 /
Type is aangemaakt.
SQL> create type "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
2 /
Type is aangemaakt.
SQL> declare
2 err_cd varchar2(1000);
3 err_txt VARCHAR2(5000);
4 no_of_recs number;
5 out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
6 cntr_var number:=0;
7 begin
8 -- rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
9 dbms_output.put_line('The error is ' ||err_cd);
10 dbms_output.put_line('The error is ' ||err_txt);
11 dbms_output.put_line('The cntr is ' ||cntr_var);
12 for incr in 1 .. OUT_SIGN_TAB.count
13 loop
14 cntr_var := cntr_var + 1 ;
15 Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN
TAB(incr).txntype||','||OUT_SIGN_TAB(incr).objid);
16 end loop;
17 end;
18 /
The error is
The error is
The cntr is 0
PL/SQL-procedure is geslaagd.Regards,
Rob. -
How To Capture A Column Value In A Report And Store It In A Variable?
Portal Version: 3.0.6.6.5
RDBMS Versjion: 8.1.7.0.0
OS/Vers. Where Portal is Installed:: SunOS 5.8
I have a Portal report where I added a checkbox for each row of data that is being displayed. The user can select checkbox for as many rows as he/she wants. The user can then click a button, which iteratively passes the value of a column as a parameter to a procedure.
I am using the Portal field that ends with a ".FIELD#>" For example, if my report is based on the following SQL statement:
SELECT EMP_UNID FROM EMPLOYEES WHERE STATUS = 'E'
Then the field I am using to capture the value is <#EMP_UNID.FIELD#>
So the <INPUT> looks like:
<TD>
<INPUT TYPE="checkbox" NAME="checkboxSelect" value="<#EMP_UNID.FIELD#>">
</TD>
And the Javascript code looks like:
htp.p('<SCRIPT LANGUAGE="JavaScript1.1">');
htp.p('<!--');
htp.p('function runAccept() {');
htp.p('for (var i=0; i<20; i++)');
htp.p('if (document.formSelect.checkboxSelect.checked == true)');
htp.p('{');
htp.p('myRegExp = /"/gi;');
htp.p('parameter = document.formSelect.checkboxSelect[i].value.replace(myRegExp, "z");');
htp.p('parameter = parameter.substring(parameter,parameter.indexOf(">")+1,parameter.lastIndexOf("<")-1)');
htp.p('alert(parameter);');
-- htp.p('CallableStatement cstmt = null;');
-- htp.p('cstmt = conn.prepareCall("{call --runAcceptRecord(parameter)}")');
-- htp.p('cstmt.execute ();');
htp.p('}');
htp.p('}');
htp.p('//-->');
htp.p('</SCRIPT>');
The problem, however, is that Portal stores not only the actual value in <#EMP_UNID.FIELD#>, but also some HTML tags, most of which can be removed via the Display Options page. There are some tags that cannot be removed in this fashion, because Portal does not allow nulls in those. So we are stuck with an HTML tag (i.e. <FONT SIZE>) that is stuffed in that variable along with the value. The problem is further complicated by the existence of double quotes within that tag that undesirably terminates the VALUE assignment.
So for instance, what you might get from Portal is this:
<TD><INPUT TYPE="checkbox" NAME="checkboxSelect" value="<FONT SIZE="+0">219</FONT>"> </TD><TD ALIGN="RIGHT"><FONT SIZE="+0">219</FONT></TD>
<TD ALIGN="LEFT"><FONT SIZE="+0">E</FONT></TD>
It is in the value="<FONT SIZE="+0">219</FONT>" part of the code where the extra double quote is terminating the Javascript code. I have tried escape() and replace() to remove the extra double quotes, but have not got it to work. The problem is happening too early at this point, and what I have tried is after the fact.
Obviously, the problem is that I shouldn't be using <#EMP_UNID.FIELD#> since the intent of this is to add html tags for display purposes. That is done by Portal, and I thus have no control over it unless I take drastic means and modify Portal's innerworkings, which I don't care to do.
My question therefore is, what other variable can I use in Reports to capture just the value? I am hoping that there is a variable in Reports like the ones for Forms which has a prefix of A_. Or is there another method for doing this?
Thanks in advance
FredI found htf.formcheckbox function which was what I needed. With that, my javascript code was cut down to just a few lines. Didn't need to strip away the html tags. This function will just return the value.
Refer to:
http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=116534.1 for specific example of this function.
http://technet.oracle.com/doc/appsrvr4082/guides/plsql_r.pdf for a reference list of all htp's. -
How can I get selection screen values from outside of program?
Hi. all.
Now. I'm developing moritoring systems and I have problems. for getting selection screen values in runtime. Is there any function, methods or structure to know this?
I'd like to get selection screen values while several programs working in runtime and update these values to table to show current system's status and input values for users in real time.
For example.
Now. 3 PGMs are working on systems.
each PGM is ZAAA01, ZAAA02, ZAAA03.
and ZAAA01 needs input parameter P01, ZAAA02 needs input parameter P02, ZAAA03 needs input parameter P03.
In this case, I have to know values of P01, P02 and P03.
The mornitoring systems will show current working status of PGMs(ZAAA01~03)' and these PGMs' input values.
As fas as I know, the structure 'SCREEN' can be used in each PGM for runtime. Is there any SAP system structure or something else for this purpose?
I hope your hopeful repsponse.
Thanks.Umm..I need to explain more about this.
of course I know SET, GET PARAMETERS.
But I'd like to minimize coding for each PGM level.
I have over hundreds PGMs and I have to develop the PGM(including tables and structures) that mornitor
all of those PGMs on a report in real-time.
This PGM is kind of Process Manager.
First I should know dialogue job PGM and background job that pass parameters using SAP(ABAP) Memory.
And then I have to update those PGMs' input values via screens into tables in real-time.
So, I couldn't use SET,GET PARAMETERS for this PGM.
I want to know methods that can be used for getting information about runtime PGMs' selection screen field values in SAP systems wide.
Please help me some one knows this.
Maybe you are looking for
-
How do I install a driver on my macbook pro
How do I install a driver on my macbook pro
-
My apple ID is associated with my kid's ipad. I want to create her own ID but Im afraid she may loose everything she has downloaded (games, etc) if I give her a new ID.
-
Function keys do not work on new wireless keyboard
Hello....my good friend just bought a new iMac G5 2.1 spotlight model computer and has had troubles with his new wireless keyboard in that all 16 function keys do not work at all. Got any ideas or is it just a defective keyboard? He bought this at my
-
Every once in a while I see someone has posted a picture to a site where they can get help with a technique. In addition to the black and white question I previously posted, I have a color photo that I really like but it's not a high quality photo. I
-
Switch users/accounts in snow leopard
i have a visitor coming to my house today and i am trying to figure out how to switch users. i followed all the instructions on the site about checking the necessary boxes in system preferences/accounts. however, my icon in the menu bar and the login