REGARDING RADIOBUTTON
HI GURUS,
I have 2 groups.in one group 2 radiobuttons,pdhplant,pp plant
in 2nd group , ihave 4 radio buttons,offspec,linespec,line1&line2.
my requirement is if i click,pdh plant then all the 2nd group radio buttons will disable mode& if i select pp plant then again
my 2nd group radiobuttons in actibe state.
how to achive , please help me.
thanks
subhasis
Hi,
Use modif id to ur block which u want to make inactive and active.
selection screen:
selection-screen begin of block output1 with frame title
text-o01.
parameters p_outscr type c radiobutton group out1
default 'X' user-command uc1.
parameters p_outfil type c radiobutton group out1.
selection-screen end of block output1.
selection-screen begin of block output2 with frame title
text-o02.
parameters p_nonuni as checkbox modif id out.
parameters p_tstamp as checkbox default 'X'
modif id out user-command uc1.
selection-screen end of block output2.
selection-screen begin of block output3 with frame title
text-o03.
parameters p_pcfile type c radiobutton group out2
modif id out user-command uc1.
parameters p_fname like rlgrap-filename modif id out
default 'C:\SAP Reports\ZVL06O.txt'.
parameters p_unix type c radiobutton group out2
default 'X' modif id out.
parameters p_uname like rlgrap-filename modif id out.
skip 1.
selection-screen comment /1(50) text-o04 modif id out.
parameters p_yes as checkbox modif id out.
selection-screen comment /1(50) text-o05 modif id out.
parameters p_sep type c modif id out.
selection-screen end of block output3.
This is validation:
at selection-screen output.
IF p_outscr = 'X'.
CLEAR: p_yes, p_sep.
LOOP AT SCREEN.
IF screen-group1 = 'OUT'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Regards,
Subbu
Similar Messages
-
hi
can any body make me know how to put text on the right hand side of the radio button.
thanks in advance.
prasadHi Prasad,
Try the following code:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: r1 RADIOBUTTON GROUP g1 USER-COMMAND ucomm DEFAULT 'X'.
SELECTION-SCREEN COMMENT 3(17) text-002 FOR FIELD r1.
SELECTION-SCREEN POSITION 32.
PARAMETERS: r2 RADIOBUTTON GROUP g1 .
SELECTION-SCREEN COMMENT 34(17) text-003 FOR FIELD r2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK b1.
Hope this will help.
Regards,
Nitin. -
Hi All,
Is there a way of having all the radiobuttons in a group in the unchecked state??
I have 2 radiobuttons in a radiobutton group.Is there a method to keep both of them in an unselected state??
My requirement is that a field should be displayed or kept hidden based on the user's selection of the radiobuttons....
Please help....
Thanks & Regards,
Prakash.KHI,
u cannot select more than a single radio button in a group.
if u want to select both means just keep one button in another group.
code for display and hide.
TABLES:mara.
SELECTION-SCREEN BEGIN OF BLOCK 001.
PARAMETERS: P_MRU RADIOBUTTON GROUP SEL DEFAULT 'X' USER-COMMAND AC,
P_PART RADIOBUTTON GROUP SEL.
SELECT-OPTIONS P1 FOR mara-matnr MODIF ID PRT.
SELECT-OPTIONS G1 FOR mara-ernam MODIF ID MRU.
SELECTION-SCREEN END OF BLOCK 001.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF P_MRU = 'X'.
IF SCREEN-GROUP1 = 'PRT'.
SCREEN-ACTIVE = '0'.
ENDIF.
IF SCREEN-GROUP1 = 'MRU'.
SCREEN-ACTIVE = '1'.
ENDIF.
ELSEIF P_PART = 'X'.
IF SCREEN-GROUP1 = 'MRU'.
SCREEN-ACTIVE = '0'.
ENDIF.
IF SCREEN-GROUP1 = 'PRT'.
SCREEN-ACTIVE = '1'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
rgds,
bharat. -
Help regarding radiobutton text in Adobe Forms
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="nodes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="node">
<xs:complexType>
<xs:sequence>
<xs:element name="PName" type="xs:string" />
<xs:element name="IsRegistered" type="xs:boolean" />
<xs:element name="Gender" maxOccurs="unbounded" type="GenderType" />
<xs:element name="QT" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="GenderType">
<xs:restriction base="xs:string">
<xs:pattern value="([A-Z,a-z])*" />
<xs:minLength value="0" />
<xs:maxLength value="6" />
<xs:enumeration value="Male" />
<xs:enumeration value="Female" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
I’m trying to generate a PDF form using a schema(above) and xml file(based on this xsd) using LiveCycle Designer. I have embedded the xml schema in pdf file by creating a Data Connection using this xsd file. I can generate different type of form controls by importing the xml file(based on this xsd) in PDF file using Acrobat 9.0 menu Forms > Manage Form Data > Import Data.
What I can’t figure out is how can I generate radio button's text/label based on data in xml? The Gender enumeration that I have used becomes hardcoded in design time and there can’t be more radio buttons than that specified in the Gender enumeration in the xsd. Also even though I have specified the text for the radiobutton in the xsd I have to specify it again while designing the form using Adobe Live Cycle Designer. This is like hardcoding the radiobutton text during design time. How do i read the radiobutton text from the xsd file only ???
I want the number of radio buttons and their labels to be generated based on data
from xml.
For e.g. if my xml is:
<node>
<rbType>Option1</rbType>
<rbType>Option2</rbType>
<rbType>Option3</rbType>
</node>
,then there sould be 3 radio buttons with labels as Option1, Option2 and Option3. If there are only 2 'rbType' tags, then only 2 radio buttons with respective labels.
Any help\suggestions is appreciated. Thanx
Sunit.Use
<b>
instead of
<strong>
See http://partners.adobe.com/public/developer/en/xml/xfa_spec_2_5.pdf -> Part 3 -> Rich Text Reference for a list of supported xhtml tags.
Sebastian -
Regarding radiobutton selection
Hi,
I am having radiobutton group with yes and no values.I selected one option.How to refresh(deselect) the selected option.IWDRadioButtonGroupByKey: set selected key to NULL
IWDRadioButtonGroupByIndex: set node's lead selection to IWDNode.NO_SELECTION
Armin -
Regarding At selection-screen on Radiobutton output....
Hi...
This is the code I used, to check AT SELECTION-SCREEN ON RADIOBUTTON.
But, after displaying the error message,
all fields are becoming inactive in selection screen.
CODE:
TYPES : BEGIN OF st_employee,
cid TYPE zintelli_emp-cid,
cname TYPE zintelli_emp-cname,
l ocation TYPE zintelli_emp-location,
phno TYPE zintelli_emp-phno ,
gender TYPE zintelli_emp-gender,
END OF st_employee.
DATA : it_employee TYPE STANDARD TABLE OF st_employee,
wa_employee TYPE st_employee,
v_cid TYPE zintelli_emp-cid.
SELECTION-SCREEN BEGIN OF SCREEN 500 TITLE title.
PARAMETERS : p_cid TYPE st_employee-cid obligatory.
PARAMETERS : p_cname TYPE st_employee-cname,
p_culoc TYPE st_employeelocation,
p_phno TYPE st_employee-phno.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(6) rc1.
PARAMETERS : rb_1 RADIOBUTTON GROUP b .
SELECTION-SCREEN COMMENT 15(7) rc2.
PARAMETERS : rb_2 RADIOBUTTON GROUP b.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN PUSHBUTTON /35(10) pb1 USER-COMMAND pb1.
SELECTION-SCREEN SKIP 5.
SELECTION-SCREEN END OF SCREEN 500.
CALL SELECTION-SCREEN '500'.
INITIALIZATION.
title = 'CUSTOMER INFORMATION'.
pb1 = 'INSERT'.
rc1 = 'MALE'.
rc2 = 'FEMALE'.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP b.
IF rb_1 EQ 'X'.
p_cid = p_cid+0(1).
IF p_cid NE 'M'.
MESSAGE e020(z50871msg) WITH 'The id should start with "M" '.
EXIT.
ENDIF.
ELSE.
p_cid = p_cid+0(1).
IF p_cid NE 'F'.
MESSAGE e020(z50871msg) WITH 'The id should start with "F" '.
EXIT.
ENDIF.
ENDIF.
Regards
sandeep.At selection-screen on FIELD
Will give work like: If given input is wrong then it will give the Error message and all other fields will be diasable except the entered wrong on At selection-screen on FIELD.
until you give the right input it won't go for next At Selection-screen On FILED.
If you Don't want to disable other fields Use ONLY AT SELECTION-SCREEN.
Regards,
Umashankar -
Regarding At selection-screen on radiobutton
Hi..
I need sample code on AT SELECTION-SCREEN ON RADIOBUTTON.
thanx and regards
Sandeep.Hi,
Just copy paste this code and run it,
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
PARAMETERS: R1 RADIOBUTTON GROUP RAD1 DEFAULT 'X',
R2 RADIOBUTTON GROUP RAD1,
R3 RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
PARAMETERS: R4 RADIOBUTTON GROUP RAD2 DEFAULT 'X',
R5 RADIOBUTTON GROUP RAD2,
R6 RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN END OF BLOCK B2.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP RAD1.
IF R1 = 'X'.
MESSAGE W040(HB).
ENDIF.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP RAD2.
IF R4 = 'X'.
MESSAGE W040(HB).
ENDIF.
note: after selecting the choices press F8 and test.
hope this helps. -
Regarding one radiobutton logic
HI GURUS,
I have 2 groups.in one group 2 radiobuttons,pdhplant,pp plant
in 2nd group , ihave 4 radio buttons,offspec,linespec,line1&line2.
my requirement is if i click,pdh plant then all the 2nd group radio buttons will disable mode& if i select pp plant then again
my 2nd group radiobuttons in actibe state.
how to achive , please help me.
thanks
subhasishI,
Check out this code
*FIRST Block
SELECTION-SCREEN : BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
PARAMETER : pdh_plnt RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND change,
pp_plant RADIOBUTTON GROUP g1.
SELECTION-SCREEN:END OF BLOCK blk2.
*SECOND Block
SELECTION-SCREEN : BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.
PARAMETER : offspec RADIOBUTTON GROUP g2 MODIF ID m3, "Variant Part
linespec RADIOBUTTON GROUP g2 MODIF ID m3 ,
line1 RADIOBUTTON GROUP g2 MODIF ID m3,
line2 RADIOBUTTON GROUP g2 MODIF ID m3.
SELECTION-SCREEN:END OF BLOCK blk3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'M3'.
IF pdh_plnt EQ 'X'.
screen-INPUT = 0.
ELSE.
screen-INPUT = 1.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Regards
Sandipan -
How can I select a radio button in a table regarding the data in the cells?
Hi everyone
This is the issue: I need to select the RadioButton which is in a table with data related to transfers in the cells next to it, so I need to select the correct radio regarding the data next to it.
This is the whole process: First I go to the Add Recurring Transfer section and select the parameters of the transfer (Accounts, date, amount, months etc), then with VB code I capture those parameters from the page and store them into Global variables for further usage on my E-tester script.
Right after that I need to select the radiobutton regarding the data of the transfer that I already created in order to delete it or modify it (Please see Attachment selectradio1.jpg)
So How can I move along the table and compare each cell with the variables that I created with the transfer information, so when I finish comparing a row cell by cell and if all the comparison match well in that row, I could select the radiobutton of the row.
Note: Second Attachment selectradio2.jpg shows the source code of the table...If you need more info please let me know
Could you please help me with this problem?? I'm Kind of frustrated with this issue jejejeHere is an example. I uploaded mock html so that you can actually try this code. I think this does exactly what you are asking.
Private Sub RSWVBAPage_afterPlay()
Dim tbl As HTMLTable
Dim tblRow As HTMLTableRow
Dim tblCell As HTMLTableCell
Dim strValue As String
Dim rButton As HTMLInputElement
' ******** This would be your global variable. I put this so that values are seperated by a semicolin you can use what ever format works for you.
strValue = "03/22/2008;03/22/2008;*************1977;*************1977;$25.25;Jan, Jun, Jul, Dec"
' Strip out the ; for inner text comparison
strValue = Replace(strValue, ";", "")
' This will get the table but can be modifoed to be more specific
Set tbl = RSWApp.om.FindElement(, "TABLE")
' This loops through all the rows in the table until a match to the strValue is found
' then clicks the radio button. Findelements allows you to specify a root element
' once the correct root row is found, FindElemets can get the correct radio button
For Each tblRow In tbl.rows
If tblRow.innerText = strValue Then
Set rButton = RSWApp.om.FindElement("account", "INPUT", "NAME", , , tblRow)
rButton.click
End If
Next
End Sub
I also uploaded the script I created. You should be able to run it and see how it works.
This should get you going. -
How to get the values of a multiple radiobutton selection?
Hi. I have the next region source:
FOR c1 IN(SELECT rownum, ttexto_opcion, id_item FROM tb_opciones where id_prueba=:p_id_prueba) LOOP
HTP.P(APEX_ITEM.radiogroup(1,c1.ttexto_opcion,1)||c1.ttexto_opcion);
END LOOP;
That query returns a list of records, group by id_item. For example:
Option A Option B Option C (id_item=1)
Option A1 Option B1 Option C1 (id_item=2)
Option A2 Option B2 Option C2 (id_item=3)
Option A3 Option B3 Option C3 (id_item=4)
Imagine that this values has a radiobutton right next to them.
Now, imagine that the user selected Option A, Option B1, Option C2 and Option C3. How could I get the values selected? Any ideas?
Regards,
JeannineFirst off why are you concat the c1.ttexto_opcion to the radio button? there is an option to specify the text value.
Like this
begin
FOR c1 IN(select empno,ename from emp) LOOP
HTP.P(APEX_ITEM.radiogroup(1,c1.empno,1,c1.ename));
--id, value, selected_value, display text
END LOOP;
end;Not sure you could with that. Is that region building the radio buttons like your example? if so, you need to change it so each "column" has its own global array
So for column 1 (options A) you use this code
HTP.P(APEX_ITEM.radiogroup(1,c1.ttexto_opcion,1)||c1.ttexto_opcion);any value selected can be retrieved using apex_application.g_f01 (1 being what p_id is)
so for column 2 (option B)you use this code
HTP.P(APEX_ITEM.radiogroup(2,c1.ttexto_opcion,1)||c1.ttexto_opcion);any value selected can be retrieved using apex_application.g_f02 (2 being what p_id is)
so for column 3 (option c)you use this code
HTP.P(APEX_ITEM.radiogroup(3,c1.ttexto_opcion,1)||c1.ttexto_opcion);any value selected can be retrieved using apex_application.g_f03 (3 being what p_id is) -
How to give inputfields for radiobuttons
Hi all,
I am developing one application in which i require three radio buttons for that i used radiobutton group.
Now my requirement is to give three input fields to the corresponding radiobuttons.
for example
radiobutton1(name) inputfield1
radiobutton2(hno) inputfield2
radiobutton3(eid) inputfield3
I think u got my requirement.
please any one can provide me the solution.
Thanks in advance
Regards
RaviHello Ravi,
Please modify the code as below
public void onActionselectindex(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionselectindex(ServerEvent)
//reset the input fields on each select event
wdcontext.currentContextElement().setInput_1("");
wdcontext.currentContextElement().setInput_2("");
wdcontext.currentContextElement().setInput_3("");
String selected_option = wdContext.currentContextElement().getA(); //where A is the attribute in the
//context used as the selected key for radiobuttongroup
if(selected_option != null)
if(selected_option.equalsIgnoreCase("name"))
wdContext.currentContextElement().setReadoonlypro_input_1(true); //context attributes bound to the readonly property
wdContext.currentContextElement().setReadoonlypro_input_2(false); //of all the input fields.
wdContext.currentContextElement().setReadoonlypro_input_3(false);
else if(selected_option.equalsIgnoreCase("rollno"))
wdContext.currentContextElement().setReadoonlypro_input_1(false);
wdContext.currentContextElement().setReadoonlypro_input_2(true);
wdContext.currentContextElement().setReadoonlypro_input_3(false);
else if(selected_option.equalsIgnoreCase("class"))
wdContext.currentContextElement().setReadoonlypro_input_1(false); //context attributes bound to the readonly property
wdContext.currentContextElement().setReadoonlypro_input_2(false); //of all the input fields.
wdContext.currentContextElement().setReadoonlypro_input_3(true);
//@@end
Regards
Sarbjeet Singh -
Regarding Call Transction 'FBL3N'
Dear Friends,
i am calling Transaction FBL3N from an ALV Report and I am able to do the same, but I am unable to call it for the specified date in selection-screen. And I want to display option All Items to be activated.
If i am entering date range from 01.04.2009 to 31.03.2010 then while calling transaction FBL3N , it will call All Items From the specified date for the specfic G/L Account.
Pls, Suggest any good solution.
Thanks & Regards,
Sandip Sonar.Hello
FBL3N - it is report RFITEMGL. So try this:
submit RFITEMGL
with SD_SAKNR-LOW = '12341234' " <- pass GL account here
with SD_BUKRS-LOW = 'AAAA' " <- pass company code here
with X_OPSEL = ' ' " <- disable radiobutton Open items
with X_CLSEL = ' ' " <- disable radiobutton Cleared items
with X_AISEL = 'X' " <- enable radiobutton All items
with SO_BUDAT BETWEEN '20090401' AND '20100331' " <- pass date range here
and return. -
Regarding Reading contents in classical ALV
Hi Experts,
I have a problem in Classical ALV Grid Display.
I donot know how to read the contents of modified fields after the grid is displayed.ie. i will modify some cells and press a button which is defined by me then the modified contents need to be read and updated in the data base.i am not able to read those modified contents.so please help me.i am using REUSE_ALV_GRID_DISPLAY.that is my requirement.i cannot use ALV Objects.i am posting the code.please verify and help me.
REPORT ZMRMMO_CUSTPOCHANGE.
*******************************TABLES***************************************
TABLES : VBAK, "Sales Document:Header Data.
VBUK, "Sales Document:Header Status And Administrative Data.
VBAP. "Sales Document:Item Data.
********************************TYPES***************************************
INCLUDE ZPOCHANGE_DECLARATIONS. "Include Program for declaration part.
****************************SELECTION SCREEN********************************
INCLUDE ZPOCHANGE_SELSCREEN. "Include Program for selection screen.
****************************INITIALIZATION**********************************
INITIALIZATION.
COM1 = 'Select Reject Open Sale Order Radio Button To Delete An Open Sale Order'.
COM2 = 'Select Remove Rejection Radio Button To Undo The Delete sale Order'.
****************************START OF SELECTION******************************
START-OF-SELECTION.
*CREATE OBJECT obj1.
PERFORM F_CUSTPOSELECTION. "Subroutine for selection of data from the tables.
PERFORM F_BUILDFCAT. "Subroutine To bulid a field catalog.
*I_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
*I_LAYOUT-BOX_TABNAME = 'I_FINAL'.
*I_LAYOUT-BOX_FIELDNAME = 'X'.
*APPEND I_LAYOUT.
PERFORM F_EVENTSGET.
IF FLAG = 'X'.
PERFORM F_ALVGRIDDISPLAY. "Subroutine to call the ALV Grid Display Function Module inorder to display the data
ELSE.
EXIT.
ENDIF.
FORM F_POCHANGEPFSTATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'PO_CHANGE'. "EXCLUDING RT_EXTAB.
ENDFORM.
FORM F_POCHNGUSERCOMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD.
RS_SELFIELD-REFRESH = 'X'.
IF R_UCOMM EQ 'UPD'.
PERFORM F_POCHANGECHECK." USING RS_SELFIELD.
ENDIF.
ENDFORM.
INCLUDE ZMRMMO_CUSTPOCHANGE_F_BUILDF01.
INCLUDE ZMRMMO_CUSTPOCHANGE_F_POPULF01.
INCLUDE ZMRMMO_CUSTPOCHANGE_F_ALVGRF01.
INCLUDE ZMRMMO_CUSTPOCHANGE_F_CUSTPF01.
INCLUDE ZMRMMO_CUSTPOCHANGE_F_TESTF01.
INCLUDE ZMRMMO_CUSTPOCHANGE_F_POCHAF01.
INCLUDE ZMRMMO_CUSTPOCHANGE_F_EVENTF01.
*& Include ZPOCHANGE_DECLARATIONS
TYPE-POOLS : SLIS.
TYPES :BEGIN OF TY_VBAK,
VBELN LIKE VBAK-VBELN,
BSTNK LIKE VBAK-BSTNK,
KUNNR LIKE VBAK-KUNNR,
LIFSK LIKE VBAK-LIFSK,
GWLDT LIKE VBAK-GWLDT,
END OF TY_VBAK,
BEGIN OF TY_VBUK,
VBELN LIKE VBUK-VBELN,
LFGSK LIKE VBUK-LFGSK,
END OF TY_VBUK,
BEGIN OF TY_VBAP,
VBELN LIKE VBAP-VBELN,
LPRIO LIKE VBAP-LPRIO,
ABGRU LIKE VBAP-ABGRU,
END OF TY_VBAP,
BEGIN OF TY_FINAL,
VBELN LIKE VBAK-VBELN,
BSTNK LIKE VBAK-BSTNK,
KUNNR LIKE VBAK-KUNNR,
LFGSK LIKE VBUK-LFGSK,
LIFSK LIKE VBAK-LIFSK,
GWLDT LIKE VBAK-GWLDT,
LPRIO LIKE VBAP-LPRIO,
ABGRU LIKE VBAP-ABGRU,
END OF TY_FINAL.
****************************INTERNAL TABLES*********************************
DATA :I_VBAK TYPE STANDARD TABLE OF TY_VBAK,
I_VBUK TYPE STANDARD TABLE OF TY_VBUK,
I_VBAP TYPE STANDARD TABLE OF TY_VBAP,
I_FINAL TYPE STANDARD TABLE OF TY_FINAL,
WA_VBAK TYPE TY_VBAK,
WA_VBUK TYPE TY_VBUK,
WA_VBAP TYPE TY_VBAP,
WA_FINAL TYPE TY_FINAL.
DATA : I_FCAT TYPE SLIS_T_FIELDCAT_ALV,
I_LAYOUT TYPE SLIS_LAYOUT_ALV, "OCCURS 0,
WA_FCAT LIKE LINE OF I_FCAT,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
I_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS LIKE LINE OF I_EVENTS,
I_FCAT1 TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT1 LIKE LINE OF I_FCAT1.
*DATA : obj1 TYPE REF TO CL_GUI_ALV_GRID_BASE.
*DATA :G_ROWNO TYPE I.
DATA FLAG VALUE 'X'.
*& Include ZPOCHANGE_SELSCREEN
****************************SELECTION SCREEN********************************
SELECTION-SCREEN : BEGIN OF BLOCK SC1 WITH FRAME TITLE TEXT-000.
PARAMETERS : P_KUNNR TYPE VBAK-KUNNR OBLIGATORY,
P_BSTNK TYPE VBAK-BSTNK.
SELECTION-SCREEN : END OF BLOCK SC1.
SELECTION-SCREEN : BEGIN OF BLOCK SC2 WITH FRAME TITLE TEXT-001.
PARAMETERS : R_REMSET RADIOBUTTON GROUP RAD1,
R_CNGGAR RADIOBUTTON GROUP RAD1,
R_CNGDEL RADIOBUTTON GROUP RAD1,
R_REJSO RADIOBUTTON GROUP RAD1,
R_REMREJ RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN : COMMENT /1(79) COM1,
COMMENT /1(79) COM2.
SELECTION-SCREEN : END OF BLOCK SC2.
***INCLUDE ZMRMMO_CUSTPOCHANGE_F_CUSTPF01 .
*& Form F_CUSTPOSELECTION
text
--> p1 text
<-- p2 text
FORM F_CUSTPOSELECTION .
IF P_BSTNK IS INITIAL.
SELECT VBELN BSTNK KUNNR LIFSK GWLDT
FROM VBAK
INTO TABLE I_VBAK
WHERE KUNNR EQ P_KUNNR.
IF SY-SUBRC <> 0.
MESSAGE I000(YMES).
FLAG = '0'.
ELSE.
SORT I_VBAK BY VBELN.
ENDIF.
ELSE.
SELECT VBELN BSTNK KUNNR LIFSK GWLDT
FROM VBAK
INTO TABLE I_VBAK
WHERE KUNNR EQ P_KUNNR AND
BSTNK EQ P_BSTNK.
IF SY-SUBRC <> 0.
MESSAGE I000(YMES).
FLAG = '0'.
ELSE.
SORT I_VBAK BY VBELN.
ENDIF.
ENDIF.
*IF I_VBAK[] IS NOT INITIAL.
LOOP AT I_VBAK INTO WA_VBAK.
WRITE :/ WA_VBAK-VBELN,
10 WA_VBAK-BSTNK,
20 WA_VBAK-KUNNR,
30 WA_VBAK-LIFSK,
40 WA_VBAK-GWLDT.
ENDLOOP.
*ENDIF.
IF I_VBAK[] IS NOT INITIAL.
SELECT VBELN LFGSK
FROM VBUK
INTO TABLE I_VBUK
FOR ALL ENTRIES IN I_VBAK
WHERE VBELN = I_VBAK-VBELN AND
LFGSK <> 'C'.
ENDIF.
IF SY-SUBRC <> 0.
MESSAGE I000(YMES).
FLAG = '0'.
ELSE.
SORT I_VBUK BY VBELN.
ENDIF.
*IF I_VBUK[] IS NOT INITIAL.
LOOP AT I_VBUK INTO Wa_VBUK.
WRITE :/ WA_VBUK-VBELN,
10 WA_VBUK-LFGSK.
ENDLOOP.
*ENDIF.
IF I_VBUK IS NOT INITIAL.
SELECT VBELN LPRIO ABGRU
FROM VBAP
INTO TABLE I_VBAP
FOR ALL ENTRIES IN I_VBUK
WHERE VBELN = I_VBUK-VBELN.
ENDIF.
IF SY-SUBRC <> 0.
MESSAGE I000(YMES).
FLAG = '0'.
ELSE.
SORT I_VBAP BY VBELN.
ENDIF.
LOOP AT I_VBUK INTO WA_VBUK.
MOVE :WA_VBUK-VBELN TO WA_FINAL-VBELN,
WA_VBUK-LFGSK TO WA_FINAL-LFGSK.
READ TABLE I_VBAK INTO WA_VBAK WITH KEY WA_VBUK-VBELN.
MOVE :WA_VBAK-BSTNK TO WA_FINAL-BSTNK,
WA_VBAK-KUNNR TO WA_FINAL-KUNNR,
WA_VBAK-LIFSK TO WA_FINAL-LIFSK,
WA_VBAK-GWLDT TO WA_FINAL-GWLDT.
READ TABLE I_VBAP INTO WA_VBAP WITH KEY WA_VBUK-VBELN.
MOVE :WA_VBAP-LPRIO TO WA_FINAL-LPRIO,
WA_VBAP-ABGRU TO WA_FINAL-ABGRU.
APPEND WA_FINAL TO I_FINAL.
CLEAR WA_FINAL.
ENDLOOP.
ENDFORM. " F_CUSTPOSELECTION
***INCLUDE ZMRMMO_CUSTPOCHANGE_F_BUILDF01 .
*& Form F_BUILDFCAT
text
--> p1 text
<-- p2 text
FORM F_BUILDFCAT .
PERFORM F_POPULATE_FCAT USING '1' 'VBELN' 'I_FINAL' '' '' '10' 'Sales Document' 'VBELN' 'VBAK'.
PERFORM F_POPULATE_FCAT USING '2' 'BSTNK' 'I_FINAL' '' '' '10' 'Customer PO No.' 'BSTNK' 'VBAK'.
PERFORM F_POPULATE_FCAT USING '3' 'KUNNR' 'I_FINAL' '' 'X' '10' 'Sold-to Party' 'KUNNR' 'VBAK'.
PERFORM F_POPULATE_FCAT USING '4' 'LFGSK' 'I_FINAL' '' '' '1' 'Delivery Status' 'LFGSK' 'VBUK'.
CASE 'X'.
WHEN R_REMSET.
PERFORM F_POPULATE_FCAT USING '5' 'LIFSK' 'I_FINAL' '' '' '2' 'Delivery BlocK' 'LIFSK' 'VBAK'.
PERFORM F_POPULATE_FCAT USING '6' 'LIFSK' 'I_FINAL' 'X' '' '2' 'Present Delivery BlocK' 'LIFSK' 'VBAK'.
WHEN R_CNGGAR.
PERFORM F_POPULATE_FCAT USING '5' 'GWLDT' 'I_FINAL' '' '' '8' 'Guarantee Date' 'GWLDT' 'VBAK'.
PERFORM F_POPULATE_FCAT USING '6' 'GWLDT' 'I_FINAL' 'X' '' '8' 'Present Guarantee Date' 'GWLDT' 'VBAK'.
WHEN R_CNGDEL.
PERFORM F_POPULATE_FCAT USING '5' 'LPRIO' 'I_FINAL' '' '' '2' 'Delivery Priority' 'LPRIO' 'VBAP'.
PERFORM F_POPULATE_FCAT USING '6' 'LPRIO' 'I_FINAL' 'X' '' '2' 'Present Delivery Priority' 'LPRIO' 'VBAP'.
WHEN R_REJSO.
PERFORM F_POPULATE_FCAT USING '5' 'ABGRU' 'I_FINAL' '' '' '2' 'Reason For Rejection' 'ABGRU' 'VBAP'.
PERFORM F_POPULATE_FCAT USING '6' 'ABGRU' 'I_FINAL' 'X' '' '2' 'Reason For Rejection' 'ABGRU' 'VBAP'.
WHEN R_REMREJ.
PERFORM F_POPULATE_FCAT USING '5' 'ABGRU' 'I_FINAL' '' '' '2' 'Reason For Rejection' 'ABGRU' 'VBAP'.
PERFORM F_POPULATE_FCAT USING '6' 'ABGRU' 'I_FINAL' 'X' '' '2' 'Reason For Rejection' 'ABGRU' 'VBAP'.
ENDCASE.
ENDFORM. " F_BUILDFCAT
***INCLUDE ZMRMMO_CUSTPOCHANGE_F_EVENTF01 .
*& Form F_EVENTSGET
text
--> p1 text
<-- p2 text
FORM F_EVENTSGET .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = I_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
SORT I_EVENTS BY NAME.
ENDIF.
*READ TABLE I_EVENTS INTO WA_EVENTS WITH KEY NAME = 'USER_COMMAND'.
*IF SY-SUBRC = 0.
*MOVE 'USER_COMMAND' TO WA_EVENTS-FORM.
*MODIFY I_EVENTS FROM WA_EVENTS INDEX SY-TABIX."TRANSPORTING FORM WHERE NAME = 'WA_EVENT-NAME'.
*ENDIF.
READ TABLE I_EVENTS INTO WA_EVENTS WITH KEY NAME = 'LIST_MODIFY'.
IF SY-SUBRC = 0.
MOVE 'LIST_MODIFY' TO WA_EVENTS-FORM.
MODIFY I_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDIF.
*READ TABLE I_EVENTS INTO WA_EVENTS WITH KEY NAME = 'PF_STATUS_SET'.
*IF SY-SUBRC = 0.
*MOVE 'PF_STATUS_SET' TO WA_EVENTS-FORM.
*MODIFY I_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
*ENDIF.
ENDFORM. " F_EVENTSGET
***INCLUDE ZMRMMO_CUSTPOCHANGE_F_ALVGRF01 .
*& Form F_ALVGRIDDISPLAY
text
--> p1 text
<-- p2 text
FORM F_ALVGRIDDISPLAY .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'F_POCHANGEPFSTATUS'
I_CALLBACK_USER_COMMAND = 'F_POCHNGUSERCOMMAND'
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = I_FCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'U'
IS_VARIANT =
IT_EVENTS = I_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DATA_GET'
EXPORTING
I_HEADER_TABNAME =
I_ITEM_TABNAME =
IMPORTING
ET_FIELDCAT =
ET_SORT =
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
*IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
ENDFORM. " F_ALVGRIDDISPLAY
***INCLUDE ZMRMMO_CUSTPOCHANGE_F_POCHAF01 .
*& Form F_POCHANGECHECK
text
--> p1 text
<-- p2 text
FORM F_POCHANGECHECK.
ENDFORM. " F_POCHANGECHECKHi
I sure that there is a better way,but this one will work also...
In PBO enter rows you will show in report to itab you define (same type)
In PAI (after change) compare this tables (your grid table and itab with values before the change) and you will get rows which have been changed...
REGARDS
Yossi -
Regarding putting trafic lights in alv report
Hi frnds,
I need to add Traffic lites to my program can any one help me how to do that.
Below i m providing my code.
<code>
*ztest_alv
*& Report ZSAMPLEALV3 *
REPORT ZSAMPLEALV3
MESSAGE-ID Z00.
TABLE DECLARATIONS
TABLES : EKKO. "Purchasing Document Header
CONSTANTS DECLARATIONS
CONSTANTS : C_EBELN(5) VALUE 'EBELN'.
DATA DECLARATIONS
DATA : V_FLAG, "For Select Status
V_DATA(50). "To Store Data
TYPE DECLARATIONS FOR ALV *
TYPE-POOLS : SLIS.
*Type Declarations for Field Catalog for Basic List
DATA : I_FLDCAT_HEAD TYPE SLIS_T_FIELDCAT_ALV,
WA_FLDCAT_HEAD TYPE SLIS_FIELDCAT_ALV.
*Type Declarations for Field Catalog for Secondary List
DATA : I_FLDCAT_ITEM TYPE SLIS_T_FIELDCAT_ALV,
WA_FLDCAT_ITEM TYPE SLIS_FIELDCAT_ALV.
*Type Declarations for Displaying Images on Basic Grid
DATA : I_COMMENT TYPE SLIS_T_LISTHEADER,
WA_COMMENT TYPE SLIS_LISTHEADER.
*Type Declarations for Displaying Images on Secondary Grid
DATA : I_COMMENT_SEC TYPE SLIS_T_LISTHEADER,
WA_COMMENT_SEC TYPE SLIS_LISTHEADER.
*Type Declarations for ALV Events for Basic Grid
DATA : I_EVENTS TYPE SLIS_T_EVENT,
WA_EVENT LIKE LINE OF I_EVENTS.
*Type Declarations for ALV Events for Secondary Grid
DATA : I_EVENTS_SEC TYPE SLIS_T_EVENT,
WA_EVENT_SEC LIKE LINE OF I_EVENTS.
*Type Declarations for Layout Design
DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
*Type Declarations for Linking the fields
DATA : WA_KEYINFO TYPE SLIS_KEYINFO_ALV.
Type declarations for coloring field
DATA : wa_color type LVC_S_SCOL.
DATA: IT_COLOR TYPE TABLE OF LVC_S_SCOL.
INTERNAL TABLE DECLARATIONS
*--Internal Table for Basic List
DATA : BEGIN OF IT_FINAL_BAS OCCURS 0,
EBELN LIKE EKKO-EBELN, "Purchasing Document Number
BUKRS LIKE EKKO-BUKRS, "Company Code
AEDAT LIKE EKKO-AEDAT, "Date on which the record was created
EKORG LIKE EKKO-EKORG, "Purchasing Organization
EKGRP LIKE EKKO-EKGRP, "Purchasing group
COLOR(3) , "For applying color
END OF IT_FINAL_BAS.
*--Internal Table for Secondary List
DATA : BEGIN OF IT_FINAL_SEC OCCURS 0,
EBELN LIKE EKPO-EBELN, "Purchasing Document Number
MATNR LIKE EKPO-MATNR, "Material Number
TXZ01 LIKE EKPO-TXZ01, "Material Desc
WERKS LIKE EKPO-WERKS, "Plant
LGORT LIKE EKPO-LGORT, "Location
MATKL LIKE EKPO-MATKL, "Material Group
MENGE LIKE EKPO-MENGE, "Purchase order quantity
MEINS LIKE EKPO-MEINS, "Order unit
NETPR LIKE EKPO-NETPR, "Net price in purchasing document (in document currency)
NETWR LIKE EKPO-NETWR, "Net order value in PO currency
DUMMY LIKE ICON-ID, "For placing Icon
COLOR(3) , "For applying color
END OF IT_FINAL_SEC.
*--Internal Table for Secondary List with selected records
DATA : BEGIN OF I_ITEM_DISPLAY OCCURS 0,
EBELN LIKE EKPO-EBELN, "Purchasing Document Number
MATNR LIKE EKPO-MATNR, "Material Number
TXZ01 LIKE EKPO-TXZ01, "Material Desc
WERKS LIKE EKPO-WERKS, "Plant
LGORT LIKE EKPO-LGORT, "Location
MATKL LIKE EKPO-MATKL, "Material Group
MENGE LIKE EKPO-MENGE, "Purchase order quantity
MEINS LIKE EKPO-MEINS, "Order unit
NETPR LIKE EKPO-NETPR, "Net price in purchasing document (in document currency)
NETWR LIKE EKPO-NETWR, "Net order value in PO currency
DUMMY LIKE ICON-ID, "For placing Icon
COLOR(3) , "For applying color
END OF I_ITEM_DISPLAY.
SELECTION SCREEN
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-H01.
SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-003.
PARAMETERS: P_DISP RADIOBUTTON GROUP RAD1 DEFAULT 'X'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-005.
PARAMETERS: P_UPD RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
Event : INITIALIZATION
INITIALIZATION.
MOVE 'Developed by'(001) TO V_DATA.
Event : AT SELECTION SCREEN
AT SELECTION-SCREEN.
PERFORM VALIDATE_EBELN.
Event : START-OF-SELECTION
START-OF-SELECTION.
*--Getting the Data
PERFORM GET_DATA.
*--Generating the Field catalog for basic and secondary grid
PERFORM GET_FLDCAT.
*--Generating the Layout for basic and secondary grid
PERFORM GET_LAYOUT.
*--Generating the key infor to link Basic grid to Secondary grid
PERFORM GET_KEYINFO.
*--Generating the Events for Basic and Secondary Grid
PERFORM GET_EVENTS.
*--Displaying data only
IF P_DISP = 'X'.
PERFORM DISPLAY_DATA.
ELSE .
PERFORM UPDATE_DATA.
ENDIF.
Event : END-OF-SELECTION
END-OF-SELECTION.
*& Form DISPLAY_DATA
text
--> p1 text
<-- p2 text
FORM DISPLAY_DATA .
IF V_FLAG EQ 'X'.
*--Generating Basic List
PERFORM DISP_BASIC_LIST.
ELSE.
IF SY-SUBRC NE 0.
MESSAGE I010 WITH 'No Data Found To Display'(002).
ENDIF.
ENDFORM. " DISPLAY_DATA
SUB-ROUTINES
*& Form VALIDATE_EBELN
Validating the PO No
FORM VALIDATE_EBELN .
SELECT EBELN
UP TO 1 ROWS
INTO (EKKO-EBELN)
FROM EKKO
WHERE EBELN IN S_EBELN.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE I010 WITH 'Invalid PO No'(003) S_EBELN-LOW 'To'(004) S_EBELN-HIGH.
ENDIF.
ENDFORM. " VALIDATE_EBELN
*& Form GET_DATA
Getting Basic List and Secondary List Data
FORM GET_DATA .
*--Getting Basic List Data
SELECT EBELN "PO No
BUKRS "Company Code
AEDAT "Creation Date
EKORG "Purch Org
EKGRP "Purch Group
INTO TABLE IT_FINAL_BAS
FROM EKKO
WHERE EBELN IN S_EBELN.
*--Getting Secondary List Data
IF SY-SUBRC EQ 0.
SELECT EBELN "PO No
MATNR "Material No
TXZ01 "Material Desc
WERKS "Plant
LGORT "Location
MATKL "Material Group
MENGE "PO Qty
MEINS "Unit
NETPR "Net Price
NETWR "Net Value
INTO TABLE IT_FINAL_SEC
FROM EKPO
WHERE EBELN IN S_EBELN.
ENDIF.
IF SY-SUBRC EQ 0.
V_FLAG = 'X'.
ELSE.
V_FLAG = SPACE.
ENDIF.
ENDFORM. " GET_DATA
*& Form GET_FLDCAT
Generating the Field Catalog
FORM GET_FLDCAT .
*--Generating the Field Catalog for Basic List
WA_FLDCAT_HEAD-REPTEXT_DDIC = 'Status'.
WA_FLDCAT_HEAD-FIELDNAME = 'LIGHT'.
WA_FLDCAT_HEAD-COL_POS = '1'.
WA_FLDCAT_HEAD-JUST = 'C'.
WA_FLDCAT_HEAD-OUTPUTLEN = '4'.
WA_FLDCAT_HEAD-ICON = 'X'.
APPEND WA_FLDCAT_HEAD TO I_FLDCAT_HEAD.
CLEAR WA_FLDCAT_HEAD .
WA_FLDCAT_HEAD-FIELDNAME = 'EBELN'.
WA_FLDCAT_HEAD-COL_POS = '2'.
WA_FLDCAT_HEAD-JUST = 'C'.
WA_FLDCAT_HEAD-OUTPUTLEN = '12'.
WA_FLDCAT_HEAD-SELTEXT_M = 'PO Number'(006).
WA_FLDCAT_HEAD-DDICTXT = 'M'.
WA_FLDCAT_HEAD-REF_TABNAME = ' '.
WA_FLDCAT_HEAD-HOTSPOT = 'X'.
APPEND WA_FLDCAT_HEAD TO I_FLDCAT_HEAD.
CLEAR WA_FLDCAT_HEAD .
WA_FLDCAT_HEAD-FIELDNAME = 'BUKRS'(007).
WA_FLDCAT_HEAD-COL_POS = '3'.
WA_FLDCAT_HEAD-OUTPUTLEN = '12'.
WA_FLDCAT_HEAD-SELTEXT_M = 'Company Code'(008).
WA_FLDCAT_HEAD-DDICTXT = 'M'.
APPEND WA_FLDCAT_HEAD TO I_FLDCAT_HEAD.
WA_FLDCAT_HEAD-FIELDNAME = 'AEDAT'(009).
WA_FLDCAT_HEAD-COL_POS = '4'.
WA_FLDCAT_HEAD-OUTPUTLEN = '10'.
WA_FLDCAT_HEAD-SELTEXT_M = 'PO Date'(010).
WA_FLDCAT_HEAD-DDICTXT = 'M'.
APPEND WA_FLDCAT_HEAD TO I_FLDCAT_HEAD.
WA_FLDCAT_HEAD-FIELDNAME = 'EKORG'(011).
WA_FLDCAT_HEAD-COL_POS = '5'.
WA_FLDCAT_HEAD-OUTPUTLEN = '6'.
WA_FLDCAT_HEAD-SELTEXT_M = 'PO Org'(012).
WA_FLDCAT_HEAD-DDICTXT = 'M'.
WA_FLDCAT_HEAD-EDIT = 'X'.
APPEND WA_FLDCAT_HEAD TO I_FLDCAT_HEAD.
WA_FLDCAT_HEAD-FIELDNAME = 'EKGRP'(013).
WA_FLDCAT_HEAD-COL_POS = '6'.
WA_FLDCAT_HEAD-OUTPUTLEN = '8'.
WA_FLDCAT_HEAD-SELTEXT_M = 'PO Group'(014).
WA_FLDCAT_HEAD-DDICTXT = 'M'.
WA_FLDCAT_HEAD-DO_SUM = 'X'.
APPEND WA_FLDCAT_HEAD TO I_FLDCAT_HEAD.
*--Generating the Field Catalog for secondary List
WA_FLDCAT_ITEM-FIELDNAME = 'EBELN'.
WA_FLDCAT_ITEM-COL_POS = '1'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '12'.
WA_FLDCAT_ITEM-SELTEXT_M = 'PO Number'(006).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
WA_FLDCAT_ITEM-REF_TABNAME = ' '.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'MATNR'(015).
WA_FLDCAT_ITEM-COL_POS = '2'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '18'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Item Number'(016).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
WA_FLDCAT_ITEM-REF_TABNAME = ' '.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'TXZ01'(017).
WA_FLDCAT_ITEM-COL_POS = '3'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '40'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Item Desc'(018).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'WERKS'(019).
WA_FLDCAT_ITEM-COL_POS = '4'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '6'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Plant'(020).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'LGORT'(021).
WA_FLDCAT_ITEM-COL_POS = '5'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '9'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Location'(022).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'MATKL'(023).
WA_FLDCAT_ITEM-COL_POS = '6'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '10'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Mat Group'(024).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'MENGE'(025).
WA_FLDCAT_ITEM-COL_POS = '7'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '17'.
WA_FLDCAT_ITEM-SELTEXT_M = 'PO Qty'(026).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'MEINS'(027).
WA_FLDCAT_ITEM-COL_POS = '8'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '3'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Unit'(028).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'NETPR'(029).
WA_FLDCAT_ITEM-COL_POS = '9'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '14'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Net Price'(037).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'NETWR'(030).
WA_FLDCAT_ITEM-COL_POS = '10'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '16'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Net Value'(031).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
WA_FLDCAT_ITEM-FIELDNAME = 'DUMMY'(038).
WA_FLDCAT_ITEM-COL_POS = '11'.
WA_FLDCAT_ITEM-JUST = 'C'.
WA_FLDCAT_ITEM-OUTPUTLEN = '3'.
WA_FLDCAT_ITEM-SELTEXT_M = 'Status'(039).
WA_FLDCAT_ITEM-DDICTXT = 'M'.
WA_FLDCAT_ITEM-ICON = 'X'.
APPEND WA_FLDCAT_ITEM TO I_FLDCAT_ITEM.
ENDFORM. " GET_FLDCAT
*& Form DISP_BASIC_LIST
Generating the Basic List
FORM DISP_BASIC_LIST .
**--Applying the color to record in Basic List
SORT IT_FINAL_BAS BY BUKRS.
LOOP AT IT_FINAL_BAS.
IF IT_FINAL_BAS-BUKRS LE '1000'.
IT_FINAL_BAS-COLOR = 'C21'.
ELSEIF IT_FINAL_BAS-BUKRS GT '1000' AND IT_FINAL_BAS-BUKRS LE '2000'.
IT_FINAL_BAS-COLOR = 'C41'.
ELSEIF IT_FINAL_BAS-BUKRS GT '2000' AND IT_FINAL_BAS-BUKRS LE '3000'.
IT_FINAL_BAS-COLOR = 'C71'.
ELSEIF IT_FINAL_BAS-BUKRS GT '3000'.
IT_FINAL_BAS-COLOR = 'C51'.
ELSE.
IT_FINAL_BAS-COLOR = 'C61'.
ENDIF.
MODIFY IT_FINAL_BAS INDEX SY-TABIX.
ENDLOOP.
*--Generating the Grid output
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'ZTEST_ALV'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = 'PLAIN_BACKGROUND'
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = I_FLDCAT_HEAD
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_FINAL_BAS
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISP_BASIC_LIST
*& Form GET_EVENTS
Getting the ALV Events
FORM GET_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = I_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*--Calling the User Defined sub-routines for ALV Events
IF NOT I_EVENTS[] IS INITIAL.
READ TABLE I_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
WA_EVENT-FORM = 'GENERATE_USERCOMMAND_HEADER'.
MODIFY I_EVENTS FROM WA_EVENT INDEX SY-TABIX.
READ TABLE I_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
WA_EVENT-FORM = 'FRM_TOP_OF_PAGE'.
MODIFY I_EVENTS FROM WA_EVENT INDEX SY-TABIX.
READ TABLE I_EVENTS INTO WA_EVENT WITH KEY NAME = 'END_OF_LIST'.
WA_EVENT-FORM = 'GENERATE_USERCOMMAND_FOOTER'.
MODIFY I_EVENTS FROM WA_EVENT INDEX SY-TABIX.
READ TABLE I_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
WA_EVENT-FORM = 'GENERATE_USERCOMMAND3'.
MODIFY I_EVENTS FROM WA_EVENT INDEX SY-TABIX.
ENDIF.
ENDFORM. " GET_EVENTS
*& Form GENERATE_USERCOMMAND_HEADER
Displaying Header-Text and Logo on Grid
FORM GENERATE_USERCOMMAND_HEADER.
CLEAR I_COMMENT[].
WA_COMMENT-TYP = 'H'.
WA_COMMENT-INFO = 'General Purchase Order Info'(032).
APPEND WA_COMMENT TO I_COMMENT.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = I_COMMENT
I_LOGO = 'ENJOYSAP_LOGO'.
I_END_OF_LIST_GRID = 'X'.
ENDFORM. " GENERATE_USERCOMMAND
*FORM FRM_TOP_OF_PAGE.
write :/ text-005 intensified on.
write :/ text-006 , sy-sysid,14 sy-mandt.
write :/ text-007 , sy-uname.
write :/ text-008 , sy-datum.
write :/ text-009 , sy-uzeit.
skip.
*ENDFORM.
*& Form GENERATE_USERCOMMAND_FOOTER
Displaying Footer-Text
FORM GENERATE_USERCOMMAND_FOOTER .
CLEAR I_COMMENT[].
WA_COMMENT-TYP = 'S'.
WA_COMMENT-KEY = V_DATA.
WA_COMMENT-INFO = 'kaka'(033).
APPEND WA_COMMENT TO I_COMMENT.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = I_COMMENT
I_LOGO = ''
I_END_OF_LIST_GRID = 'X'.
ENDFORM. " GENERATE_USERCOMMAND_FOOTER
*& Form GENERATE_USERCOMMAND3
Getting the F-Code and Calling Secondary List
--> P_UCOMM LIKE SY-UCOMM
--> P_SELFIELD TYPE SLIS_SELFIELD
FORM GENERATE_USERCOMMAND3 USING P_UCOMM LIKE SY-UCOMM
P_SELFIELD TYPE SLIS_SELFIELD.
CASE P_UCOMM.
WHEN '&IC1'. "DOUBLE CLICK Func-Code
READ TABLE IT_FINAL_BAS INDEX P_SELFIELD-TABINDEX.
REFRESH I_ITEM_DISPLAY.
*--Applying the color to record in Secondary List
LOOP AT IT_FINAL_SEC WHERE EBELN = IT_FINAL_BAS-EBELN.
IF IT_FINAL_SEC-NETPR EQ 0.
IT_FINAL_SEC-DUMMY = '@0A@'.
IT_FINAL_SEC-COLOR = 'C61'.
ELSEIF IT_FINAL_SEC-NETPR GT 0 AND IT_FINAL_SEC-NETPR LE 200.
IT_FINAL_SEC-DUMMY = '@09@'.
IT_FINAL_SEC-COLOR = 'C41'.
ELSEIF IT_FINAL_SEC-NETPR GT 200 AND IT_FINAL_SEC-NETPR LE 1000.
IT_FINAL_SEC-DUMMY = '@08@'.
IT_FINAL_SEC-COLOR = 'C71'.
ELSEIF IT_FINAL_SEC-NETPR GT 1000.
IT_FINAL_SEC-DUMMY = '@6P@'.
IT_FINAL_SEC-COLOR = 'C51'.
ENDIF.
MODIFY IT_FINAL_SEC INDEX SY-TABIX.
MOVE-CORRESPONDING IT_FINAL_SEC TO I_ITEM_DISPLAY.
APPEND I_ITEM_DISPLAY.
CLEAR I_ITEM_DISPLAY.
ENDLOOP.
*--Getting the ALV Events of Secondary List
PERFORM GET_EVENTS_SEC.
*--Generating the ALV Secondary Grid output
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'ZTEST'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = 'PLAIN_BACKGROUND'
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = I_FLDCAT_ITEM
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_EVENTS_SEC
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_ITEM_DISPLAY
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDCASE.
ENDFORM. " GENERATE_USERCOMMAND3
*& Form GET_LAYOUT
Generating the Layout
FORM GET_LAYOUT .
WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. "OPTIMIZING FIELD WIDTH
WA_LAYOUT-ZEBRA = 'X'. "PUTTING ZEBRA COLORS
WA_LAYOUT-INFO_FIELDNAME = 'COLOR'(034). "APPLYING COLORS TO ROWS
ENDFORM. " GET_LAYOUT
*& Form GET_KEYINFO
Getting Key info
FORM GET_KEYINFO .
*--Linking the Basic List to Secondary List
WA_KEYINFO-HEADER01 = C_EBELN.
WA_KEYINFO-ITEM01 = C_EBELN.
ENDFORM. " GET_KEYINFO
*& Form GET_EVENTS_SEC
Getting Secondary List Events
FORM GET_EVENTS_SEC .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = I_EVENTS_SEC
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*--Calling user-defined sub-routines for Secondary List
IF NOT I_EVENTS_SEC[] IS INITIAL.
READ TABLE I_EVENTS_SEC INTO WA_EVENT_SEC WITH KEY NAME = 'TOP_OF_PAGE'.
WA_EVENT_SEC-FORM = 'GENERATE_USERCOMMAND_H_SEC'.
MODIFY I_EVENTS_SEC FROM WA_EVENT_SEC INDEX SY-TABIX.
READ TABLE I_EVENTS_SEC INTO WA_EVENT_SEC WITH KEY NAME = 'END_OF_LIST'.
WA_EVENT_SEC-FORM = 'GENERATE_USERCOMMAND_F_SEC'.
MODIFY I_EVENTS_SEC FROM WA_EVENT_SEC INDEX SY-TABIX.
ENDIF.
ENDFORM. " GET_EVENTS_SEC
*& Form GENERATE_USERCOMMAND_H_SEC
Displaying Header-Text and Logo on Grid For Secondary List
FORM GENERATE_USERCOMMAND_H_SEC.
CLEAR I_COMMENT_SEC[].
WA_COMMENT_SEC-TYP = 'H'.
WA_COMMENT_SEC-INFO = 'Purchase Order Info'(035).
APPEND WA_COMMENT_SEC TO I_COMMENT_SEC.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = I_COMMENT_SEC
I_LOGO = 'ENJOYSAP_LOGO'.
I_END_OF_LIST_GRID = 'X'.
ENDFORM. " GENERATE_USERCOMMAND_H_SEC
*& Form GENERATE_USERCOMMAND_F_SEC
Displaying Footer-Text for Secondary List
FORM GENERATE_USERCOMMAND_F_SEC.
CLEAR I_COMMENT_SEC[].
WA_COMMENT_SEC-TYP = 'S'.
WA_COMMENT_SEC-KEY = V_DATA.
WA_COMMENT_SEC-INFO = 'kak1'(036).
APPEND WA_COMMENT_SEC TO I_COMMENT_SEC.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = I_COMMENT_SEC
I_LOGO = ''
I_END_OF_LIST_GRID = 'X'.
ENDFORM. " GENERATE_USERCOMMAND_F_SEC
*& Form UPDATE_DATA
text
--> p1 text
<-- p2 text
*form UPDATE_DATA .
*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = I_STRUCTURE_NAME
I_BACKGROUND_ID = ' '
I_GRID_TITLE = I_GRID_TITLE
I_GRID_SETTINGS = I_GRID_SETTINGS
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = IT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS = IT_ALV_GRAPHICS
IT_HYPERLINK = IT_HYPERLINK
IT_ADD_FIELDCAT = IT_ADD_FIELDCAT
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
TABLES
t_outtab = t_outtab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
*IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
*endform. " UPDATE_DATA
</code>
regards,
sanjayHi,
Please refer to the code below:
REPORT ALV_LIGHTS.* Published at SAPTechnical.COMTYPES: BEGIN OF ty_alv,
lights(1) TYPE c, "Exception, Holding the value of the lights
text(20) TYPE c, "some text
END OF ty_alv.DATA: gs_alv TYPE ty_alv,
gt_alv TYPE TABLE OF ty_alv,
gr_alv TYPE REF TO cl_salv_table,
gr_columns TYPE REF TO cl_salv_columns_table.START-OF-SELECTION.
gs_alv-lights = '1'. "Color red
gs_alv-text = 'RED SIGNAL'.
APPEND gs_alv TO gt_alv. gs_alv-lights = '2'. "Color yellow
gs_alv-text = 'YELLOW SIGNAL'.
APPEND gs_alv TO gt_alv. gs_alv-lights = '3'. "Color green
gs_alv-text = 'GREEN SIGNAL'.
APPEND gs_alv TO gt_alv. CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = gr_alv
CHANGING
t_table = gt_alv. gr_columns = gr_alv->get_columns( ). gr_columns->set_exception_column( value = 'LIGHTS' ). CALL METHOD gr_alv->display.
Thanks,
Sriram Ponna. -
dear friends i have created two radio buttons
1- material
2- sales document
and below that ther is a list box..when i click on radio buton one itshould show sattement regarding material and when i click on sales document it should show statement regarding sales document in the list box
but where ever i click its showing statement of sales only not material....following is my coding
please go through it and please suggest me mmodification in my coding.
TYPE-POOLS: VRM.
DATA: param TYPE vrm_id,
values TYPE vrm_values,
value LIKE LINE OF values.
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME.
PARAMETERS :R RADIOBUTTON GROUP RAD,
R1 RADIOBUTTON GROUP RAD.
PARAMETERS : P1 AS LISTBOX VISIBLE LENGTH 20 MODIF ID ONE.
SELECTION-SCREEN END OF BLOCK BLK1.
AT SELECTION-SCREEN OUTPUT.
START-OF-SELECTION.
IF
R = 'RAD'.
PARAM = 'P1'.
VALUE-KEY = '1'.
VALUE-TEXT = 'GENERAL MATERIAL DATA'.
APPEND VALUE TO VALUES.
PARAM = 'P1'.
VALUE-KEY = '2'.
VALUE-TEXT = 'MATERIAL TYPES'.
APPEND VALUE TO VALUES.
PARAM = 'P1'.
VALUE-KEY = '2'.
VALUE-TEXT = 'UNITS OF MEASUREMENT'.
APPEND VALUE TO VALUES.
PARAM = 'P1'.
VALUE-KEY = '2'.
VALUE-TEXT = 'INDUSTRY FOR MATERIAL'.
APPEND VALUE TO VALUES.
PARAM = 'P1'.
VALUE-KEY = '2'.
VALUE-TEXT = 'MATERIAL GROUPS'.
APPEND VALUE TO VALUES.
ELSE.
R1 = 'RAD'.
PARAM = 'P1'.
VALUE-KEY = '1'.
VALUE-TEXT = 'SALES DOCUMENT HEADER DATA'.
APPEND VALUE TO VALUES.
PARAM = 'P1'.
VALUE-KEY = '2'.
VALUE-TEXT = 'SALES DOCUMENT TYPE'.
APPEND VALUE TO VALUES.
PARAM = 'P1'.
VALUE-KEY = '2'.
VALUE-TEXT = 'SALES DOCUMENT ORDER REASON'.
APPEND VALUE TO VALUES.
PARAM = 'P1'.
VALUE-KEY = '2'.
VALUE-TEXT = 'DELIVERIES BLOCKING REASON'.
APPEND VALUE TO VALUES.
PARAM = 'P1'.
VALUE-KEY = '2'.
VALUE-TEXT = 'BILLING REASON FOR BLOCKING'.
APPEND VALUE TO VALUES.
ENDIF.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = param
values = values
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.Hi use this code..
tables:sscrfields.
TYPE-POOLS: VRM.
DATA: param TYPE vrm_id,
values TYPE vrm_values,
value LIKE LINE OF values.
data:flag(2) type c.
PARAMETERS :R RADIOBUTTON GROUP RAD user-command UCC,
R1 RADIOBUTTON GROUP RAD .
PARAMETERS : P1 like value AS LISTBOX VISIBLE LENGTH 20 .
at SELECTION-SCREEN output.
PARAM = 'P1'.
VALUE-KEY = '1'.
VALUE-TEXT = 'GENERAL MATERIAL DATA'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'MATERIAL TYPES'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'UNITS OF MEASUREMENT'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'INDUSTRY FOR MATERIAL'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'MATERIAL GROUPS'.
APPEND VALUE TO VALUES.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = param
values = values
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
AT SELECTION-SCREEN.
case sscrfields-ucomm.
when 'UCC'.
if R = 'X'.
flag = '1'.
endif.
if R1 = 'X'.
flag = '2'.
endif.
endcase.
START-OF-SELECTION.
case flag.
when '1'.
PARAM = 'P1'.
VALUE-KEY = '1'.
VALUE-TEXT = 'GENERAL MATERIAL DATA'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'MATERIAL TYPES'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'UNITS OF MEASUREMENT'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'INDUSTRY FOR MATERIAL'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'MATERIAL GROUPS'.
APPEND VALUE TO VALUES.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = param
values = values
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
when '2'.
PARAM = 'P1'.
VALUE-KEY = '1'.
VALUE-TEXT = 'SALES DOCUMENT HEADER DATA'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'SALES DOCUMENT TYPE'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'SALES DOCUMENT ORDER REASON'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'DELIVERIES BLOCKING REASON'.
APPEND VALUE TO VALUES.
VALUE-KEY = '2'.
VALUE-TEXT = 'BILLING REASON FOR BLOCKING'.
APPEND VALUE TO VALUES.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = PARAM
values = VALUES.
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endcase.
Edited by: swati gupta on Sep 25, 2008 10:08 AM
Maybe you are looking for
-
The Origin of Random iChat video failu
I hope this topic gets a lot of response and reply from as many people as we can get involved. If you are like me you have been using iChat more of less happily for some months and then suddenly all **** breaks loose and you cannot initiate chats wit
-
Cannot connect to WPA network with non-ascii password
In my office somebody thought it would be a good idea to encrypt the wireless network with a WPA password containing a non-ascii character. It is fine by the WPA2 standards, but the airport password prompt doesn't allow me to introduce suche characte
-
Rights to Inventory Custom Reports
Hi On our ZCM zone (recently upgraded to ZCM 11.2.1) only the "Administrator" can view Inventory Custom Reports. All other admins (including superadmins) see nothing in the Inventory Custom Reports list. If they create a new report the name is accept
-
can i use library items in the same way as i can cfinclude or an html insert i realise these are server side actions but i want to know if it is possible to have links in the library which can be updated on the page4s what are the possibilities and d
-
Need to Configure RMAN backup in 8.1.7.4.1
I have been asked to design a backup and recovery strategy for our production and test databases I got 2003 Enterprise server with 3 disks of each 300gb. There are 10 databases running in versions 8,9,10 with 5 production and 5 UAT database. The sum