Reg DYNP_VALUES_UPDATE.
Hi all,
Does the FM DYNP_VALUES_UPDATE work only with the same screen?My requirement is to update the field values of a main screen according to the value selected from a drop-down in a subscreen.I am able to update values of the same subscreen using this FM but not other screens.Can anyone tell me whether it will work.
Thanks in advance,
Anjaly
Dear Anjaly,
I think it should work.But if it is not then u can use another method.
eg : ur main Program is ZMAIN_PGROGRAM.
And the field u want to update is MYFIELD.
MY_VALUE is the value u need to assign to MYFIELD.
so u can use .
DATA : FLD_NAME(60).
FIELD-SYMBOLS : <FS> TYPE ANY.
FLD_NAME = '(ZMAIN_PGROGRAM)MYFIELD' .
ASSIGN (FLD_NAME) TO <FS>.
IF SY-SYBRC EQ 0.
<FS> = MY_VALUE.
ENDIF.
Similar Messages
-
Using DYNP_VALUES_UPDATE with a Maintenance View
Hi,
I am using a maintenance view to insert values into a table. When user creates a new entry, based on the value provided for a field,I need to fill a read-only field. In PAI, when user enters a value for one field, I am using FM 'DYNP_GET_STEPL' to get the current line and then DYNP_VALUES_UPDATE to fill the contents to the read-only field. But this does not seem to work. Any idea?
Regards
RachanaHi Tamas,
I tried both the options suggested by you.
I am updating the underlying structure, still its not visible when the screen loads again. But if you see the same field gets filled with DYNP_VALUES_UPDATE if an F4 help is used for teh first(editable) field and then my read-only field is also filled in the PROCESS ON VALUE REQUEST module.
So my guess is that, since it is a table control, it loops through the rest of the table control which is empty and my underlying structure gets cleared. So the problem could be where I am actually filling the field.
Is it possible to somehow fill the <EXTRACT> table so that teh value is not lost?
Regards
Rachana -
Mail can't send email from 123-reg accounts
Hi all,
I've got an issue with Mac Mail can’t send email from 123-reg accounts.
I know there is a lot of articles on simular matters and some I have tried out with no luck, others are just speaking a whole other language.
Any help would be greatly recived, here's my situation below:
Running a iMac 2.8GHz Intel Core i5 on OS X 10.8.3
I’m using 3 accounts on Macs Mail client, one is my iCloud account that is working fine and the other two are my 123-reg accounts that I use for business purposes. I’ve been working like this for a couple of years now and about 6 months ago I upgrade my operating system from Snow Leopard to Mountain Lion.
2 or 3 months ago I randomly got a problem where I was unable to send any emails from my 123-reg account, I could only receive emails. I checked my settings and they were all correct and unchanged so I attempted to delete them and recreate the account but with no such luck.
I then decided to check if it was a problem at 123-regs end and attempted to log into web mail. This worked and was able to both send and receive emails so eliminated that possibility.
I also have these accounts set up on my iPhone, so checked if there was any issues and everything was working fine. I then checked my iphone details and made sure the same was on my desktop and still no such luck.
I’ve tried out some of the articles I’ve found on here (the ones written in plain English) still no results. I’m not very IT illiterate and just wondered if anyone else has got any ideas, whether there is something specific with 123-reg accounts and Mac Mail?
Many thanks.Thanks
I just had another hunt around looking at posts and discovered that it was because I recently changed to BT Infinity and they had a block on.
I didn't even think to question the ISP.
https://discussions.apple.com/message/21173608#21173608 -
Hi
I'm having a scenario where i use a JDBC adapter to extract data from a DB. As a result of the query say, 10 rows are returned as message to XI server. I have a transformation (BPM) set and the receiver(target system) is a file. When i open the file to see its contents i can see only the first record been transfered. The mapping part used for the transformation node is having IF condition. But all the fetched records satisfies the conditions in the mapping.
Pls let me know the corrective step.
reg: PrabhuHi,
1)Check the input XML i.e all 10 records are coming into XI . This you can check in SXMB_MONI
2) Then you can test the mapping in the integration Reposiotry .. So now you can get if any mapping problem. For this , check is the occurence of target strcuture is 1..n or 0.n
/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
3) If mapping is correct , then check the RWB->Message Monitoring->Message Display Tool and check the payload.
4) If this is correct, then check the File COntent Conversion of the Receiver File Adapter.
Hope this helps,
Regards,
Moorthy -
Reg: How to Stop Polling of JDBC Adapter without Scheduling the adapter
Dear Gurus,
Here I am having one requirement. My clients wants to send data from JDBC adapter (ORcale System table) to R3 system via RFC.
His Requirement::
1. He is not telling the time of data flow from Oracle server so that based on that we can schedule the adapter in the Communication Channel monitoring (Availablitiy Time Planning) or Else we can Schedule by deciding the setting of the polling interval time.
2. He is telling that When ever he waants to send the data he will place one dummy file in the File Adapter FTP location so that it will became an Indication for u to poll the jdbc adapter and to transfer the data to R3.
3. Untill he keeps the file or gives indication he doesn;t want to communicate with Oracle server due to some security and it s a most important data base he doesn't want to disturb that Oracle Server as so many business are running on that.....
We Proposed::
1. Atleast you need to tell the scheduling time or poll interval time so that we can schedule our adapter.
but he s not accepting for this
2. Atleast U need to give access for Data base to enter one more extra field like STATUS CODE so that we will add one number and we keep on Update in the Update table and based on that Update table statement it will poll.
but he s not even accepting for this
3. Finally we prposed that to create another table in the Oracle SYstem as Dulplicate Table which is similar to Standard Orginal table when ever he wants to pick the data please keep that data in this Duplicate TABle so that JDBC adapter will pick the data from thsi TABLE instead of picking the data from that standard table so that it will not effect any standard table data in the table.
but he s not even accepting for this
We have done some R & D:::
1. WE approached even through BPM and via switch conditions is one scenario
FILE RECEIVE >SWITCH CONDITION> RECEIVE AND SEND or else EXIT
2. Using correlation in anotehr scenario means correlating File adapter and JDBC and based on one dynamica value it will goes to SEND STEP ( RECE IVE --> RECEIVE --> SEND STEPS )
Even though we know this...concept that...we jsut tried::
In BPM we can control the flow in XI 3.0 but we cannot Stop the Polling of JDBC adapter at backend because one the data comes from FILE adapter it will keep on HOLD untill it receives the JDBC from Oracle then based on the condition or Correlation it will goes futher SEND step means after that file adapter is picking file or not ...what ever it may be JDBC will polls at backend and brings that data to BPM"
Hence sugest me How to Stop Polling of JDBC Adapter without Scheduling the adapter or else using STATUS CODE Update statements in JDBC Tables
Regards:
Amar Srinivas EliHi! All,
Finally I decided to do the scenario in two steps:
1: FILE REQ --> JDBC REQ -->JDBC RES --> FILE RECV
2: FILE RECV --> RFC
But I am getting issue while doing first scenario
Desgn :
I have created 2 Synchronous interfaces :
1) FILE 2 JDBC REQ
In this a) out put message is FILE Req
b) Input msage:; FILE RES
2} JDBC2FILE RECV
a) Output mesage;; JDBC REQ
b) Input Msge :: JDBC Response
Mappings:
1) File REQ-->JDBC REQ
2) JDBC RES-->FILE RES
Interface mappings:
1: FILE 2 JDBC REQ--> JDBC 2 FLE RECV
CONFIGURATION ::
1: One Seder File CC
2: Two reciever CC's one is for JDBC RECEIVER and other s FILE RECEIVER
3; One Sender Agreement
4: 2 Recver agreements
5: One Interface Determination and
6: One RECCV Determination
My Question;;
1. First let confirm whether my development steps are right or not ?
2: Another thing s I am not sure reg Configuration Steps means
whetehr one interface determination and one Receiver Determinations are required or not as these are synchronous Interfaces
3: main Issue is::::
If my scenario s FILE2RFC2FILE then I will get RFC response automatically but here issue is this is JDBC
My reqquirement is By sending one Field from fILE to JDBC REQ it needs to send entire TAbLE records as a Response to file as XML
without having Sender JDBC how can I send the JDBC Res to FILE and If that is the case then again JDBC adapter is polling which is contradict to the client requuirement which i explained above.
pleas suggest me the Detailed steps mainly Colloboration agreements and logical routings and
also explain in detail if i can go for BPM
Also give cleear blogs but before giving make sure that it contains detailed screen shots because aIready gone thorugh
Scenario File-JDBC-RFC
File<-->JDBC Sync coomunication.
https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/file-rfc-file(Without+BPM)
/people/luis.melgar/blog/2008/05/13/synchronous-soap-to-jdbc--end-to-end-walkthrough
Regards::
Amar Srinivas Eli -
Hi all,
We have Excise REg no for Plant. But plant does not have Excise reg no.
Material is shipped to Depot with excise invoice. What is the procedure at depot for GR.
Do i need to capture the excise invoice?. From Depot, there is no excise invoice generated for customers.
thanks.Hi,
Refer following link;
[J95 - Sales at Depot|http://help.sap.com/bp_bblibrary/500/HTML/J95_SaleDepot_EN_IN.htm] -
How to set reg.cgi for VideoPhoneLabs
i start with stratus .i try set it to work with my dedicated apache server and sql but have no clue how to do it or where to put this file on my server.
i realy have probleme with reg.cgi
for now i did www/cgi-bin/reg.cgi and in the xml i set my websiteurl = "http://88..../cgi-bin/"
also how to complete reg.cgi for have it to talk with my db ?
here the reg.cgi file.
help please ...
#! /usr/bin/python --
reg.cgi by Michael Thornburgh.
This file is in the public domain.
IMPORTANT: This script is for illustrative purposes only. It does
not have user authentication or other access control measures that
a real production service would have.
This script should be placed in the cgi-bin location according to
your web server installation. The database is an SQLite3 database.
Edit the location of the database in variable "dbFile".
Create it with the following schema:
.schema
CREATE TABLE registrations (
m_username VARCHAR COLLATE NOCASE,
m_identity VARCHAR,
m_updatetime DATETIME,
PRIMARY KEY (m_username)
CREATE INDEX registrations_updatetime ON registrations (m_updatetime ASC);
# CHANGE THIS
dbFile = '.../registrations.db'
import cgi
import sqlite3
import xml.sax.saxutils
query = cgi.parse()
db = sqlite3.connect(dbFile)
user = query.get('username', [None])[0]
identity = query.get('identity', [None])[0]
friends = query.get('friends', [])
print 'Content-type: text/plain\n\n<?xml version="1.0" encoding="utf-8"?>\n<result>'
if user:
try:
c = db.cursor()
c.execute("insert or replace into registrations values (?, ?, datetime('now'))", (user, identity))
print '\t<update>true</update>'
except:
print '\t<update>false</update>'
for f in friends:
print "\t<friend>\n\t\t<user>%s</user>" % (xml.sax.saxutils.escape(f), )
c = db.cursor()
c.execute("select m_username, m_identity from registrations where m_username = ? and m_updatetime > datetime('now', '-1 hour')", (f, ))
for result in c.fetchall():
eachIdent = result[1]
if not eachIdent:
eachIdent = ""
print "\t\t<identity>%s</identity>" % (xml.sax.saxutils.escape(eachIdent), )
if f != result[0]:
print "\t\t<registered>%s</registered>" % (xml.sax.saxutils.escape(result[0]), )
print "\t</friend>"
db.commit()
print "</result>"Persistent binding is effectively provided by STMS (MPxIO) - is there anything in particular you're wanting to do that STMS doesn't provide?
-
my acc is reg in ireland, i am currently in new zealand and bought a gift card, i cant work out how to use it, help!
You can't.
They are country specific.
You could get a New Zealand address, then get a credit card that is billed to that address, then set up an account in New Zealand, and as long as you are inside the Borders of New Zealand, then you could redeem the card. -
Mysterious function module DYNP_VALUES_UPDATE?
Hi ABAP Gurus/Experts,
I'm very confused about function module DYNP_VALUES_UPDATE in function group SHL2. It'll be nice if you could answer my question below.
I tried to call the function module with space passed to both parameter DYNAME and DYNUMB, such as the following, and it successfully updated the selection screen of the calling report. I wonder how it got program/screen information of the calling report.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = space
dynumb = space
TABLES
dynpfields = lt_dynp_fld[]
EXCEPTIONS
OTHERS = 0.
The source code of the function module is shown below. It merely calls a subroutine and simply ignores parameters DYNAME and DYNUMB.
FUNCTION dynp_values_update.
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(DYNAME) LIKE D020S-PROG
*" VALUE(DYNUMB) LIKE D020S-DNUM
*" TABLES
*" DYNPFIELDS STRUCTURE DYNPREAD
PERFORM fill_dpovtab_upd TABLES dynpfields.
ENDFUNCTION.
The form is shown below. Did the C function DYNP_GET_STATUS link function group SHL2 to the calling report in the background? I guess that field symbol <dpovtab> (linked to global variable dpovtab610 in my test) in the form was mapped to the calling report by the ABAP runtime environment...
FORM fill_dpovtab_upd TABLES dynpfields STRUCTURE dynpread.
DATA: hf TYPE i, dp TYPE dpov610, hstepl(3) TYPE n,
flduseoffs TYPE i, flduselen TYPE i,
fldnameoffs TYPE i, fldnamelen TYPE i,
fldinhoffs TYPE i, fldinhlen TYPE i,
fldinpoffs TYPE i, fldinplen TYPE i.
FIELD-SYMBOLS: <dpovline> TYPE ANY, <dpovtab> TYPE table,
<dfline> TYPE dynpread.
CALL 'DYNP_GET_STATUS' ID 'FUNCTION' FIELD 16 "kennt der Kern DPOV610?
ID 'VALUE' FIELD hf. "#EC CI_CCALL
IF sy-subrc NE 0 OR hf EQ 0. "sieht wohl nicht so aus
ASSIGN: dpovtab TO <dpovline>,
dpovtab[] TO <dpovtab>.
flduseoffs = 0. flduselen = 1.
fldnameoffs = 1. fldnamelen = 132.
fldinhoffs = 133. fldinhlen = 132.
fldinpoffs = 265. fldinplen = 1.
ELSE. "DPOV610 ist bekannt
ASSIGN: dpovtab610 TO <dpovtab>,
dp TO <dpovline>.
flduseoffs = 0. flduselen = 1.
fldnameoffs = 1. fldnamelen = 140.
fldinpoffs = 141. fldinplen = 1.
fldinhoffs = 142. fldinhlen = 255.
ENDIF.
* dynpfields nach dpovtab schaufeln
CLEAR: <dpovtab>, <dpovline>.
LOOP AT dynpfields ASSIGNING <dfline>.
IF <dfline>-stepl GT 0.
hstepl = <dfline>-stepl.
CONCATENATE <dfline>-fieldname '(' hstepl ')'
INTO <dpovline>+fldnameoffs(fldnamelen).
ELSE.
<dpovline>+fldnameoffs(fldnamelen) = <dfline>-fieldname.
ENDIF.
<dpovline>+flduseoffs(flduselen) = 'E'.
<dpovline>+fldinhoffs(fldinhlen) = <dfline>-fieldvalue.
APPEND <dpovline> TO <dpovtab>.
ENDLOOP.
ENDFORM. "fill_dpovtab_updHi Bo,
In some place, some where, ..., SAP links the dpov table of this function group with your kernel. See:
call 'DYNP_GET_STATUS' id 'FUNCTION' field 16 "kennt der Kern DPOV610?
id 'VALUE' field hf. "#EC CI_CCALL
if sy-subrc ne 0 or hf eq 0. "sieht wohl nicht so aus
This call is a internal function that verify the table in the kernel.
With sure another point of system is linking it.
Best regards,
Leandro Mengue -
ABAP Basics: FUNCTION 'DYNP_VALUES_UPDATE'
Hi,
in a selection-screen-event (AT SELECTION-SCREEN ON RADIOBUTTON GROUP dest.) I want to modify another screen field depending on the input for the 2 radiobutton fields.
The exit is only processed after I declared the first parameter with addition "USER-COMMAND dest". I don't understand why, but it's OK.
Now comes the dilemma:
When changing the radiobutton first, the event is processed and the value on the selection screen replaced.
When I do it again, the event is processed, but the replament does not work.
I'm using DYNP_VALUES_UPDATE as shown below:
<pre>
FORM dynp_values_update USING pv_field TYPE fieldname
pv_value TYPE any.
DATA:
lv_dyname TYPE d020s-prog,
lv_dynumb TYPE d020s-dnum,
lt_dynpfields TYPE STANDARD TABLE OF dynpread WITH DEFAULT KEY,
ls_dynpfields TYPE dynpread.
FIELD-SYMBOLS:
<dynpfields> TYPE dynpread.
lv_dyname = sy-repid.
lv_dynumb = sy-dynnr.
ls_dynpfields-fieldname = pv_field.
ls_dynpfields-fieldvalue = pv_value.
APPEND ls_dynpfields TO lt_dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = lv_dyname
dynumb = lv_dynumb
TABLES
dynpfields = lt_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " dynp_values_update
</pre>
Sy-Subrc is zero - what's wrong? Obviously the update takes place only if the screen field is empty.
Please help me, thank you.
Regards,
ClemensPlease check this sample program, here there is no need to use the DYNPRO_VALUE_UPDATE.
report zrich_0001 .
parameters: p_rad1 radiobutton group dest user-command chk,
p_rad2 radiobutton group dest,
p_file type localfile.
<b>
* Comment out this event
*at selection-screen on radiobutton group dest.</b>
<b>at selection-screen output.
if p_rad1 = 'X'.
p_file = 'C:/TestFile1.txt'.
elseif p_rad2 = 'X'.
p_file = 'C:/TestFile2.txt'.
endif.</b>
Regards,
Rich Heilman -
Hi gurus,
Im making a search help using FM F4IF_INT_TABLE_VALUE_REQUEST with multiple choice and it's working fine, my problem it's passing the values choosed from this FM to the screen...
I've declare a select option, and what i want it's to pass the choosen values from the search help to the screen but it's not working fine... i already tried the FM DYNP_VALUES_UPDATE to update the screen field but still yhe same...
Below goes my code, just in case...
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ZLINHA'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'SO_NUM'
window_title = 'Programa'
value_org = 'S'
multiple_choice = 'X'
TABLES
value_tab = it_values
return_tab = return_tab.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
LOOP AT return_tab.
* CLEAR r_num.
so_num-option = 'EQ'.
so_num-sign = 'I'.
MOVE 'SO_NUM' TO dynpfields-fieldname.
MOVE return_tab-fieldval TO dynpfields-fieldvalue.
APPEND dynpfields.
* so_num-low = return_tab-fieldval.
* APPEND so_num.
ENDLOOP.
ENDIF.
CLEAR dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = progname
dynumb = dynnum
TABLES
dynpfields = dynpfields.
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 anyone has any idea, feel free to speak
Thanks in advance,
Best RegardsHi Martins,
You have used the select options that means you have to use the function module for the <select-option >-low and <select-option>-high.
I am giving you a code snippet in which the selection screen has select-options and with the help of function module it shows F4 help and pass the values.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-023.
SELECT-OPTIONS:S_PIDNUM FOR ZMST_PERMIT-ZPIDNUM ,
S_ENGDSC FOR ZMST_PERMIT-ZENGDSC NO INTERVALS LOWER CASE,
S_ARBDSC FOR ZMST_PERMIT-ZARBDSC NO INTERVALS LOWER CASE,
S_TARIFF FOR ZMST_PERMIT-ZTARIFF NO INTERVALS,
S_PERNUM FOR ZMST_PERMIT-ZPERNUM NO INTERVALS,
S_ARRPRT FOR ZMST_PERMIT-ZARRPRT NO INTERVALS MATCHCODE OBJECT ZMST_PORTS.
PARAMETER:P_PERTYP(2) TYPE C AS LISTBOX VISIBLE LENGTH 20.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_PIDNUM-LOW.
W_NAME2 = 'S_PIDNUM-LOW'.
W_NAME1 = 'ZPIDNUM'.
PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_PIDNUM-HIGH.
W_NAME2 = 'S_PIDNUM-HIGH'.
W_NAME1 = 'ZPIDNUM'.
PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ENGDSC-LOW.
W_NAME2 = 'S_ENGDSC'.
W_NAME1 = 'ZENGDSC'.
PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ARBDSC-LOW.
W_NAME2 = 'S_ARBDSC'.
W_NAME1 = 'ZARBDSC'.
PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_TARIFF-LOW.
W_NAME2 = 'S_TARIFF'.
W_NAME1 = 'ZTARIFF'.
PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_PERNUM-LOW.
W_NAME2 = 'S_PERNUM'.
W_NAME1 = 'ZPERNUM'.
PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help
*& Form F4_HELP
text
--> p1 text
<-- p2 text
FORM F4_HELP USING: W_VAR TYPE DFIES-FIELDNAME
W_VAR1 TYPE HELP_INFO-DYNPROFLD .
Fetching data from zmst_permit for F4 help on PERMIT ID No.--
IF IT_PERMIT[] IS INITIAL.
SELECT ZPIDNUM
ZENGDSC
ZARBDSC
ZTARIFF
ZPERNUM
ZARRPRT
ZEFFDT
ZEXPDT
FROM ZMST_PERMIT INTO CORRESPONDING FIELDS OF TABLE IT_PERMIT.
ENDIF.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = W_NAME1 " 'ZPIDNUM'
DYNPPROG = 'ZMSTR0022'
DYNPNR = SY-DYNNR
DYNPROFIELD = W_NAME2 "'S_PIDNUM'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_PERMIT
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " F4_HELP
I hope this will help you.
Help children of U.N World Food Program by rewarding points and encourage others to answer your queries. -
Select options - dynp_values_update
Hi,
I need to update a select option ( multiple values ) in the selection screen. I tried with DYNP_VALUES_UPDATE but it was not working. I am checking on this for last two days but did not reach the solution.
Please donot tell me to use submit statement ( calls an internall session ) becuase that is what i got when i searched in SCN. I want this functionality to happen when the f4 help is selected. We are providing a popup of multiple checkboxes when f4 is pressed on a select option. When one or more check boxes are selected then those values must be appended to the select option. Please give me some ideas.
If i have to use DYNP_VALUES_UPDATE then how should i use it for select option ?
Regards
KesavHello Keshav,
Not sure why you've used REUSE_ALV_POPUP_TO_SELECT. You can achieve the same by turning on the MULTIPLE_CHOICE param in F4IF_INT_TABLE_VALUE_REQUEST. Check this code snippet:
DATA: v_field TYPE fieldname.
SELECT-OPTIONS: s_field FOR v_field NO INTERVALS.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'S_FIELD-LOW'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_field-low.
* Local type declarations
TYPES : BEGIN OF t_flds,
tabname TYPE dfies-tabname,
fieldname TYPE dfies-fieldname,
keyflag TYPE dfies-keyflag,
fieldtext TYPE dfies-fieldtext,
END OF t_flds.
CONSTANTS: lc_field TYPE fieldname VALUE 'FIELDNAME'.
* Local data declarations
DATA:
ls_flds TYPE t_flds,
lt_flds TYPE STANDARD TABLE OF t_flds,
ls_values TYPE ddshretval,
lt_values TYPE STANDARD TABLE OF ddshretval,
lt_dfies TYPE TABLE OF dfies,
ls_dfies TYPE dfies.
* Get field details of the Table
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
tabname = 'MARC'
langu = sy-langu
TABLES
dfies_tab = lt_dfies
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3.
IF sy-subrc = 0.
LOOP AT lt_dfies INTO ls_dfies WHERE fieldname NE 'MANDT'.
MOVE-CORRESPONDING ls_dfies TO ls_flds.
APPEND ls_flds TO lt_flds.
ENDLOOP.
ELSE.
EXIT.
ENDIF.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = lc_field
window_title = 'Select the Table Field'(001)
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S_FIELD-LOW'
value_org = 'S'
multiple_choice = 'X'
display = 'F'
TABLES
value_tab = lt_flds
return_tab = lt_values.
s_field-sign = 'I'.
s_field-option = 'EQ'.
LOOP AT lt_values INTO ls_values .
s_field-low = ls_values-fieldval.
APPEND s_field.
ENDLOOP.
DATA: lt_dynpread TYPE STANDARD TABLE OF dynpread,
lwa_dynpread TYPE dynpread.
READ TABLE s_field INDEX 1.
IF sy-subrc = 0.
lwa_dynpread-fieldname = 'S_FIELD-LOW'.
lwa_dynpread-fieldvalue = s_field-low.
APPEND lwa_dynpread TO lt_dynpread.
* Update the screen field values
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = lt_dynpread
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc NE 0.
ENDIF.
ENDIF.
Hope this helps.
BR,
Suhas -
Function DYNP_VALUES_UPDATE not working in PBO
Hello,
I have a field 'Risk Category' whose value I need to change upon an action. The action is controlled through a button on the screen. For e.g: if the action is 'Update Credit Info', when the user chooses this action, it takes him to another location where he makes changes to the Credit parameters. When he returns back to the original screen, he needs to see the new value for 'Risk Category'.
I have controlled this in the PBO...I read the table containing the risk category and then call the function DYNP_VALUES_UPDATE. However, the value of the field does not change.
Please find my code below:
MODULE status_1100 OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'KNKK-CTLPC'.
IF lt_dynpfld IS NOT INITIAL.
LOOP AT lt_dynpfld INTO ls_dynpfld.
DELETE TABLE lt_dynpfld FROM ls_dynpfld.
ENDLOOP.
ENDIF.
SELECT SINGLE ctlpc FROM knkk
INTO ls_dynpfld-fieldvalue
WHERE kunnr = knkk-kunnr.
ls_dynpfld-fieldname = 'KNKK-CTLPC'.
APPEND ls_dynpfld TO lt_dynpfld.
CLEAR: ls_dynpfld.
SELECT SINGLE rtext FROM t691t
INTO ls_dynpfld-fieldvalue
WHERE ctlpc = ls_dynpfld-fieldvalue.
ls_dynpfld-fieldname = 'T691T-RTEXT'.
APPEND ls_dynpfld TO lt_dynpfld.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-repid
dynumb = '1100'
TABLES
dynpfields = lt_dynpfld
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDLOOP.
ENDMODULE. " STATUS_1100 OUTPUT
The flow logic for the screen 1100 is:
PROCESS BEFORE OUTPUT.
MODULE STATUS_1100.
PROCESS AFTER INPUT.
Please let me know if there is something wrong with this code or if something is missing.
Thanks,
RugmaniWell, if this is not the program, please suggest an alternative program.
-
Problem with FM "DYNP_VALUES_UPDATE"
Hi gurus
I am using a table control containg 2 columns. I have used a f4 help in the first column by the fm "F4IF_INT_TABLE_VALUE_REQUEST" . And the corresponding second column i am displaying a value for which i have used the fm "DYNP_VALUES_UPDATE" . It's working fine but after the values upadted in the second column , the value in the first column vanishes.It becomes balnk .
so please help me . thanks in advance .
regards
AmarendraHI,
Check this Code ..
PARAMETES : p_werks type ...
PARAMETES : p_plnnr type ....
PARAMETES : p_plnal type....
AT SELECTION-SCREEN ON P_PLNNR.
data:
lg_condition type string.
data:
lwa_ddshretval type ddshretval,
lwa_dselc type dselc,
lwa_dynpread type dynpread.
data:
li_f4_insp type standard table of t_f4_insp,
li_ddshretval type standard table of ddshretval,
li_dselc type standard table of dselc,
li_dynpread type standard table of dynpread.
lwa_dynpread-fieldname = 'P_WERKS'.
append lwa_dynpread to li_dynpread.
clear lwa_dynpread.
* Read Screen Field Values.
call function 'DYNP_VALUES_READ'
exporting
dyname = sy-repid
dynumb = sy-dynnr
tables
dynpfields = li_dynpread.
* Read the first record as only one record will be present
read table li_dynpread into lwa_dynpread index 1.
p_werks = lwa_dynpread-fieldvalue.
if p_werks is initial.
move 'PLNTY EQ ''Q''' to lg_condition.
else.
move 'WERKS EQ P_WERKS AND PLNTY EQ ''Q''' to lg_condition.
endif.
* Fetch Data
select werks
plnnr
plnal
plnty
ktext
into table li_f4_insp
from plko
where (lg_condition).
lwa_dselc-fldname = 'F0002'.
lwa_dselc-dyfldname = 'PLNNR'.
append lwa_dselc to li_dselc.
clear lwa_dselc.
lwa_dselc-fldname = 'F0003'.
lwa_dselc-dyfldname = 'PLNAL'.
append lwa_dselc to li_dselc.
clear lwa_dselc.
* FM For F4 Help
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'PLNNR'
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield = 'PLNNR'
value_org = 'S'
tables
value_tab = li_f4_insp
return_tab = li_ddshretval
dynpfld_mapping = li_dselc
exceptions
parameter_error = 1
no_values_found = 2
others = 3.
if sy-subrc eq 0.
refresh li_dynpread.
read table li_ddshretval into lwa_ddshretval index 1.
if sy-subrc eq 0.
move lwa_ddshretval-fieldval to p_plnnr.
lwa_dynpread-fieldname = 'P_PLNNR'.
lwa_dynpread-fieldvalue = lwa_ddshretval-fieldval.
append lwa_dynpread to li_dynpread.
clear lwa_dynpread.
endif. " IF sy-subrc EQ 0.
read table li_ddshretval into lwa_ddshretval index 2.
if sy-subrc eq 0.
move lwa_ddshretval-fieldval to p_plnal.
lwa_dynpread-fieldname = 'P_PLNAL'.
lwa_dynpread-fieldvalue = lwa_ddshretval-fieldval.
append lwa_dynpread to li_dynpread.
clear lwa_dynpread.
endif. " IF sy-subrc EQ 0.
endif. " IF sy-subrc EQ 0.
* Set Screen Field Values.
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = sy-repid
dynumb = sy-dynnr
tables
dynpfields = li_dynpread
exceptions
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
others = 8.
check sy-subrc eq 0. -
Screen Fields Not getting Updated with DYNP_VALUES_UPDATE
Hi All,
I am using FM DYNP_VALUES_READ to read the screen field values and then modifying those values and passing the modified table to DYNP_VALUES_UPDATE. But the problem is screen fields are not populated with these values . The values I wish to populate are footer values . I am using OO ALV for this wherein I am handling an event for filter of records and accordingly I need to modify my footer. Any Suggestions??
*& Form footer
Caslculate Total items, number of hits/Miss and percent MSP
--> p1 text
<-- p2 text
FORM footer .
CLEAR : io_totitems,
io_tothit,
io_totmiss,
io_permiss.
IF NOT l_flag EQ 1.
Get total items
DESCRIBE TABLE i_outdata LINES io_totitems.
LOOP AT i_outdata INTO wa_outdata.
calculate number of hits
IF wa_outdata-hit_miss = 'HIT'.
io_tothit = io_tothit + 1.
ENDIF.
calculate number of Miss
IF wa_outdata-hit_miss = 'MISS'.
io_totmiss = io_totmiss + 1.
ENDIF.
CLEAR wa_outdata.
ENDLOOP.
calculate percent MSP
io_permiss = ( ( io_totitems - io_totmiss ) / io_totitems ) * 100 .
IF l_flag EQ 1.
wa_dynpread-fieldname = 'IO_TOTITEMS'.
APPEND wa_dynpread TO t_dynpread.
wa_dynpread-fieldname = 'IO_TOTHIT'.
APPEND wa_dynpread TO t_dynpread.
wa_dynpread-fieldname = 'IO_TOTMISS'.
APPEND wa_dynpread TO t_dynpread.
wa_dynpread-fieldname = 'IO_PERMISS'.
APPEND wa_dynpread TO t_dynpread.
CLEAR wa_dynpread.
d020s-prog = sy-repid.
d020s-dnum = sy-dynnr.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = d020s-prog
dynumb = d020s-dnum
translate_to_upper = 'X'
REQUEST = ' '
TABLES
dynpfields = t_dynpread.
MOVE io_totitems TO io_totitem.
CONDENSE io_totitem NO-GAPS.
MOVE io_tothit TO io_tothits.
CONDENSE io_tothits NO-GAPS.
MOVE io_totmiss TO io_totmis.
CONDENSE io_totmis NO-GAPS.
MOVE io_permiss TO io_permis.
CONDENSE io_permis NO-GAPS.
LOOP AT t_dynpread INTO wa_dynpread.
CASE: wa_dynpread-fieldname.
WHEN 'IO_TOTITEMS'.
wa_dynpread-fieldvalue = io_totitem .
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_TOTHIT'.
wa_dynpread-fieldvalue = io_tothits.
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_TOTMISS'.
wa_dynpread-fieldvalue = io_totmis.
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_PERMISS'.
wa_dynpread-fieldvalue = io_permis .
MODIFY t_dynpread FROM wa_dynpread.
ENDCASE.
CLEAR wa_dynpread.
ENDLOOP.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = d020s-prog
dynumb = d020s-dnum
TABLES
dynpfields = t_dynpread
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
Get all fotter details in a internal table
this is used to download footer in Excel
wa_footer-fldname = 'Total Items '.
wa_footer-value = io_totitems.
APPEND wa_footer TO i_footer.
wa_footer-fldname = 'Number of HIT'.
wa_footer-value = io_tothit.
APPEND wa_footer TO i_footer.
wa_footer-fldname = 'Number of MISS'.
wa_footer-value = io_totmiss.
APPEND wa_footer TO i_footer.
wa_footer-fldname = 'Percentage MISS '.
wa_footer-value = io_permiss.
APPEND wa_footer TO i_footer.
CLEAR wa_footer.
ENDFORM. " footerdata: t_dynfields1 type table of dynpread with header line.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = d020s-prog
dynumb = d020s-dnum
translate_to_upper = 'X'
REQUEST = ' '
TABLES
dynpfields = t_dynfields1.
<b>read table t_dynfields1 index 1</b> I hope this is missing
I will be selecting from a list .
Because once the value is read we need to update the screen field with that value .
Here the selected value will be in the first place
Now
Your operation is to populate the fields with some variables .
In the same when I do this there is only one value then
Im expecting only one entry here
LOOP AT t_dynpread INTO wa_dynpread.
CASE: wa_dynpread-fieldname.
WHEN 'IO_TOTITEMS'.
wa_dynpread-fieldvalue = io_totitem .
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_TOTHIT'.
wa_dynpread-fieldvalue = io_tothits.
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_TOTMISS'.
wa_dynpread-fieldvalue = io_totmis.
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_PERMISS'.
wa_dynpread-fieldvalue = io_permis .
MODIFY t_dynpread FROM wa_dynpread.
ENDCASE.
CLEAR wa_dynpread.
ENDLOOP. */
Comment this for a while and
Change the code as
t_dynfields1-fieldname = ' '. "<--- header name
t_dynfields1-fieldvalue = ' '."<----val
append t_dynfields1.
t_dynfields1-fieldname = ' '.
t_dynfields1-fieldvalue = ' '.
append t_dynfields1.
t_dynfields1-fieldname = ' '.
t_dynfields1-fieldvalue = ' '.
append t_dynfields1.
And check .
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = d020s-prog
dynumb = d020s-dnum
TABLES
dynpfields = t_dynfields1.
regards,
vijay
Maybe you are looking for
-
Can not view my photos in iPhoto. All photos are black
I have an iPad 3 and I can not view my photos. I can view them through the photo stream on my phone but on my iPad they come up black. I'm not sure what to do.
-
In File curfile1, I am fixing my path and sending that path in ReadFile. But I do not want to fix my path, instead whatever path I select while using my user interface should be my curfile1. My code below with fixed path is working fine: private void
-
Regarding Business Rule Framework
Hi, Could u please explain the process of Business Rule Framework(BRF) and how to create this Business Rule Framework(BRF) explain with step by step process.
-
Filter Objects returned by Get-ChildItem
Hello there, I had a look at the properties available for objects returned by Get-ChildItem command using: PS C:\> Get-ChildItem | Get-Member This command shows that objects returned by Get-ChildItem command possess properties 'Name, FullName, LastAc
-
How to add customer account in the existing variant
Hi In the customer outstanding balance report, we are using a variant with relavent customer accounts. if we need to add some more customers in the variant how can we do. please help