Check box creation(urgent)
hi experts i have to crate check box for ekko-knttp(when blank enties also we need to get data) could any oone help me
PARAMETERS: P_FIELD TYPE ekko-knttp AS CHECKBOX.
Similar Messages
-
Hi Experts,
i hae to create a check box for account assaignment default value ticked, ifit is ticked out put should come other wise output should not come
could any one help me, account assaignment field is ekpo-knttp.
i am giving the code below
REPORT zmmr_po_spendreport NO STANDARD PAGE HEADING
MESSAGE-ID zs.
Program ID : *
Version : 1.0 *
SAP Version : R/3 System Ver. 4.6C *
Program Name : ZMMR_PO_SPENDREPORT *
Created by : Venu Goli *
Created on : 6/1/2007 *
Description : A Report on Direct and Indirect spend to find out *
the lead time in PO and Invoice creation *
Tables
TABLES: ekko, "Purchasing Document Header
ekpo, "Purchasing Document Item
rbkp. "Document Header: Invoice Receipt
Type-Pools
TYPE-POOLS : slis. " Has to be declared to use ALVs
To hold ALV field catgory data
DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat.
Internal tables declarations
Internal table to hold Report data
DATA: BEGIN OF it_output OCCURS 0,
dir_indir(9),
bukrs LIKE ekko-bukrs, "company code
ebeln LIKE ekko-ebeln, "Purchasing Document Number
ebelp LIKE ekpo-ebelp, "Item
aedat LIKE ekko-aedat, "Date on which the record was created
belnr LIKE rseg-belnr, "Accounting document number
bldat LIKE rbkp-bldat, "Document date in document
budat LIKE rbkp-budat, "Posting date in the document
wrbtr LIKE rseg-wrbtr, "Amount in document currency
curr LIKE t880-curr, "Price unit (Local Curr)
bednr LIKE ekpo-bednr, "Requirement tracking number
lifnr LIKE ekko-lifnr, "Vendor's account number
name1 LIKE lfa1-name1, "name1
name2(30), "preparer name
name3(30), "requester name
gjahr LIKE rseg-gjahr, "Fiscal year
ernam LIKE ekko-ernam, "Name of Person who Created the Object
kursf LIKE rbkp-kursf, "Exchange rate
shkzg LIKE rseg-shkzg, "Debit/credit indicator
banfn LIKE ekpo-banfn, "Purchase requisition number
knttp LIKE ekpo-knttp, "account assignment category
END OF it_output.
Selection Screen
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_bukrs LIKE ekko-bukrs OBLIGATORY,
kntpp AS CHECKBOX DEFAULT 'X'.
SELECT-OPTIONS: s_invdat FOR rbkp-bldat, "Document date in document
s_vendor FOR ekko-lifnr, "Vendor's account number
s_purcdo FOR ekko-ebeln, "Purchasing Document no
s_credat FOR ekko-aedat OBLIGATORY,"create date
s_plant FOR ekpo-werks, "Plant
s_doctyp FOR ekko-bsart, "Purchasing document type
s_purorg FOR ekko-ekorg, "Purchasing organization
s_trcnum FOR ekpo-bednr, "Requirement tracking number
s_knttp FOR ekpo-knttp. "account assignment category
SELECTION-SCREEN: END OF BLOCK b1.
DATA: count TYPE i VALUE 0. " Used to count records
INITIALIZATION *
INITIALIZATION.
At Selection Screen
AT SELECTION-SCREEN.
Checking for the input values of selection screen fields.
PERFORM validate_params.
Start Of Selection
START-OF-SELECTION.
PERFORM get_data.
End Of Selection
END-OF-SELECTION.
SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
PERFORM merge_fieldcatalog.
PERFORM modify_fieldcat.
PERFORM alv_report.
FORM validate_params *
FORM validate_params.
Validate company code
SELECT SINGLE COUNT(*) FROM t001 WHERE bukrs = p_bukrs.
IF sy-subrc <> 0.
MESSAGE e021 WITH 'Please enter a valid Company code'.
ENDIF.
*Validate Vendor.
SELECT SINGLE COUNT(*) FROM lfa1 WHERE lifnr IN s_vendor.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
MESSAGE e021 WITH 'Please enter a valid Vendor'.
ENDCASE.
*Validate PO doc type
SELECT SINGLE COUNT(*) FROM t161 WHERE bsart IN s_doctyp.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
MESSAGE e021 WITH 'Please enter a valid PO Doc. Type'.
ENDCASE.
*Validate plant
SELECT SINGLE COUNT(*) FROM t001w WHERE werks IN s_plant.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
MESSAGE e021 WITH 'Please enter a valid Plant. Type'.
ENDCASE.
*Validate Purch. Org
SELECT SINGLE COUNT(*) FROM t024e WHERE ekorg IN s_purorg.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
MESSAGE e021 WITH 'Please enter a valid Purch. Org.'.
ENDCASE.
ENDFORM. " PERFORM VALIDATE_PARAMS.
FORM get_data *
FORM get_data.
DATA: l_persnumber LIKE usr21-persnumber.
Get PO data
SELECT a~bukrs a~ebeln b~ebelp a~aedat a~lifnr a~ernam
b~knttp b~bednr b~banfn
c~belnr c~wrbtr c~gjahr c~shkzg
d~bldat d~budat d~kursf
e~dir_indir
INTO CORRESPONDING FIELDS OF TABLE it_output
FROM ekko AS a
JOIN ekpo AS b ON b~ebeln = a~ebeln
JOIN rseg AS c ON c~ebeln = b~ebeln
AND c~ebelp = b~ebelp
AND c~bukrs = a~bukrs
JOIN rbkp AS d ON d~belnr = c~belnr
AND d~gjahr = c~gjahr
LEFT JOIN zpo_dirindir AS e ON e~knttp = b~knttp
WHERE a~bukrs = p_bukrs
AND a~lifnr IN s_vendor
AND a~ebeln IN s_purcdo
AND a~bsart IN s_doctyp
AND a~ekorg IN s_purorg
AND a~aedat IN s_credat
AND b~knttp IN s_knttp
AND b~werks IN s_plant
AND b~bednr IN s_trcnum.
LOOP AT it_output.
Get posting date, Doc. date & Curr. Key
IF it_output-kursf <> 0.
it_output-wrbtr = it_output-wrbtr * it_output-kursf.
ENDIF.
get local currency
SELECT SINGLE waers INTO it_output-curr FROM t001
WHERE bukrs = it_output-bukrs.
Get vendor name.
SELECT SINGLE name1 FROM lfa1 INTO it_output-name1
WHERE lifnr = it_output-lifnr.
Get PO created person name
SELECT SINGLE persnumber INTO l_persnumber FROM usr21
WHERE bname = it_output-ernam.
IF sy-subrc = 0.
SELECT SINGLE name_text FROM adrp INTO it_output-name2
WHERE persnumber = l_persnumber.
ELSE.
it_output-name2 = it_output-ernam.
ENDIF.
Get get requested by from reciepent point in PO
else PR created by (If PR exists)
CASE it_output-dir_indir.
WHEN 'I'.
Take requested by from Reciepent point.
SELECT SINGLE wempf INTO it_output-name3 FROM ekkn
WHERE ebeln = it_output-ebeln
AND ebelp = it_output-ebelp .
WHEN 'D'.
SELECT SINGLE ernam INTO it_output-name3 FROM eban
WHERE banfn = it_output-banfn
AND ebelp = it_output-ebelp.
IF sy-subrc <> 0.
MOVE it_output-ernam TO it_output-name3.
ENDIF.
SELECT SINGLE persnumber INTO l_persnumber FROM usr21
WHERE bname = it_output-name3.
IF sy-subrc = 0.
SELECT SINGLE name_text FROM adrp INTO it_output-name3
WHERE persnumber = l_persnumber.
ENDIF.
ENDCASE.
translate direction indicator to Indirect or Direct
CASE it_output-dir_indir.
WHEN 'I'. it_output-dir_indir = 'Indirect'.
WHEN 'D'. it_output-dir_indir = 'Direct'.
ENDCASE.
MODIFY it_output.
ENDLOOP.
ENDFORM.
FORM MERGE_FIELDCATALOG *
FORM merge_fieldcatalog.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-cprog
i_internal_tabname = 'IT_OUTPUT'
i_inclname = sy-cprog
CHANGING
ct_fieldcat = it_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
ENDFORM. " MERGE_FIELDCATALOG
FORM modify_fieldcat *
FORM modify_fieldcat.
DATA: wa_fieldcat TYPE slis_fieldcat_alv.
LOOP AT it_fieldcat INTO wa_fieldcat.
CASE wa_fieldcat-fieldname.
WHEN 'DIR_INDIR'.
wa_fieldcat-seltext_m = 'Direct/Indirect'.
WHEN 'NAME2'.
wa_fieldcat-seltext_m = 'PREPARER NAME'.
WHEN 'NAME3'.
wa_fieldcat-seltext_m = 'REQUESTER NAME'.
WHEN 'BEDNR'.
wa_fieldcat-seltext_m = 'SSP PO'.
WHEN 'AEDAT'.
wa_fieldcat-seltext_m = 'PO DOCUMENT DATE'.
WHEN 'BLDAT'.
wa_fieldcat-seltext_m = 'INVOICE DOCU DATE'.
WHEN 'BUDAT'.
wa_fieldcat-seltext_m = 'POSTAGE DATE'.
WHEN 'WRBTR'.
wa_fieldcat-seltext_m = 'LOCAL AMOUNT'.
wa_fieldcat-cfieldname = 'CURR'.
wa_fieldcat-ctabname = wa_fieldcat-tabname.
WHEN 'CURR'.
wa_fieldcat-seltext_m = 'LOCAL CURR'.
WHEN 'NAME1'.
wa_fieldcat-seltext_m = 'VENDOR NAME'.
ENDCASE.
MODIFY it_fieldcat FROM wa_fieldcat.
ENDLOOP.
ENDFORM.
FORM ALV_REPORT *
FORM alv_report.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
it_fieldcat = it_fieldcat[]
TABLES
t_outtab = it_output[].
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.REPORT zmmr_po_spendreport NO STANDARD PAGE HEADING
MESSAGE-ID zs.
Program ID : *
Version : 1.0 *
SAP Version : R/3 System Ver. 4.6C *
Program Name : ZMMR_PO_SPENDREPORT *
Created by : Venu Goli *
Created on : 6/1/2007 *
Description : A Report on Direct and Indirect spend to find out *
the lead time in PO and Invoice creation *
Tables
TABLES: ekko, "Purchasing Document Header
ekpo, "Purchasing Document Item
rbkp. "Document Header: Invoice Receipt
Type-Pools
TYPE-POOLS : slis. " Has to be declared to use ALVs
To hold ALV field catgory data
DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat.
Internal tables declarations
Internal table to hold Report data
DATA: BEGIN OF it_output OCCURS 0,
dir_indir(9),
bukrs LIKE ekko-bukrs, "company code
ebeln LIKE ekko-ebeln, "Purchasing Document Number
ebelp LIKE ekpo-ebelp, "Item
aedat LIKE ekko-aedat, "Date on which the record was created
belnr LIKE rseg-belnr, "Accounting document number
bldat LIKE rbkp-bldat, "Document date in document
budat LIKE rbkp-budat, "Posting date in the document
wrbtr LIKE rseg-wrbtr, "Amount in document currency
curr LIKE t880-curr, "Price unit (Local Curr)
bednr LIKE ekpo-bednr, "Requirement tracking number
lifnr LIKE ekko-lifnr, "Vendor's account number
name1 LIKE lfa1-name1, "name1
name2(30), "preparer name
name3(30), "requester name
gjahr LIKE rseg-gjahr, "Fiscal year
ernam LIKE ekko-ernam, "Name of Person who Created the Object
kursf LIKE rbkp-kursf, "Exchange rate
shkzg LIKE rseg-shkzg, "Debit/credit indicator
banfn LIKE ekpo-banfn, "Purchase requisition number
knttp LIKE ekpo-knttp, "account assignment category
END OF it_output.
Selection Screen
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_bukrs LIKE ekko-bukrs OBLIGATORY,
kntpp AS CHECKBOX DEFAULT 'X'.
SELECT-OPTIONS: s_invdat FOR rbkp-bldat, "Document date in document
s_vendor FOR ekko-lifnr, "Vendor's account number
s_purcdo FOR ekko-ebeln, "Purchasing Document no
s_credat FOR ekko-aedat OBLIGATORY,"create date
s_plant FOR ekpo-werks, "Plant
s_doctyp FOR ekko-bsart, "Purchasing document type
s_purorg FOR ekko-ekorg, "Purchasing organization
s_trcnum FOR ekpo-bednr, "Requirement tracking number
s_knttp FOR ekpo-knttp. "account assignment category
parameters : p_knntp as checkbox default 'X'.
SELECTION-SCREEN: END OF BLOCK b1.
DATA: count TYPE i VALUE 0. " Used to count records
INITIALIZATION *
INITIALIZATION.
At Selection Screen
AT SELECTION-SCREEN.
Checking for the input values of selection screen fields.
PERFORM validate_params.
Start Of Selection
START-OF-SELECTION.
if p_knttp = 'X'.
PERFORM get_data.
else.
message 'no output'.
endif.
End Of Selection
END-OF-SELECTION.
SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
PERFORM merge_fieldcatalog.
PERFORM modify_fieldcat.
PERFORM alv_report.
FORM validate_params *
FORM validate_params.
Validate company code
SELECT SINGLE COUNT(*) FROM t001 WHERE bukrs = p_bukrs.
IF sy-subrc <> 0.
MESSAGE e021 WITH 'Please enter a valid Company code'.
ENDIF.
*Validate Vendor.
SELECT SINGLE COUNT(*) FROM lfa1 WHERE lifnr IN s_vendor.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
MESSAGE e021 WITH 'Please enter a valid Vendor'.
ENDCASE.
*Validate PO doc type
SELECT SINGLE COUNT(*) FROM t161 WHERE bsart IN s_doctyp.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
MESSAGE e021 WITH 'Please enter a valid PO Doc. Type'.
ENDCASE.
*Validate plant
SELECT SINGLE COUNT(*) FROM t001w WHERE werks IN s_plant.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
MESSAGE e021 WITH 'Please enter a valid Plant. Type'.
ENDCASE.
*Validate Purch. Org
SELECT SINGLE COUNT(*) FROM t024e WHERE ekorg IN s_purorg.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
MESSAGE e021 WITH 'Please enter a valid Purch. Org.'.
ENDCASE.
ENDFORM. " PERFORM VALIDATE_PARAMS.
FORM get_data *
FORM get_data.
DATA: l_persnumber LIKE usr21-persnumber.
Get PO data
SELECT a~bukrs a~ebeln b~ebelp a~aedat a~lifnr a~ernam
b~knttp b~bednr b~banfn
c~belnr c~wrbtr c~gjahr c~shkzg
d~bldat d~budat d~kursf
e~dir_indir
INTO CORRESPONDING FIELDS OF TABLE it_output
FROM ekko AS a
JOIN ekpo AS b ON b~ebeln = a~ebeln
JOIN rseg AS c ON c~ebeln = b~ebeln
AND c~ebelp = b~ebelp
AND c~bukrs = a~bukrs
JOIN rbkp AS d ON d~belnr = c~belnr
AND d~gjahr = c~gjahr
LEFT JOIN zpo_dirindir AS e ON e~knttp = b~knttp
WHERE a~bukrs = p_bukrs
AND a~lifnr IN s_vendor
AND a~ebeln IN s_purcdo
AND a~bsart IN s_doctyp
AND a~ekorg IN s_purorg
AND a~aedat IN s_credat
AND b~knttp IN s_knttp
AND b~werks IN s_plant
AND b~bednr IN s_trcnum.
LOOP AT it_output.
Get posting date, Doc. date & Curr. Key
IF it_output-kursf <> 0.
it_output-wrbtr = it_output-wrbtr * it_output-kursf.
ENDIF.
get local currency
SELECT SINGLE waers INTO it_output-curr FROM t001
WHERE bukrs = it_output-bukrs.
Get vendor name.
SELECT SINGLE name1 FROM lfa1 INTO it_output-name1
WHERE lifnr = it_output-lifnr.
Get PO created person name
SELECT SINGLE persnumber INTO l_persnumber FROM usr21
WHERE bname = it_output-ernam.
IF sy-subrc = 0.
SELECT SINGLE name_text FROM adrp INTO it_output-name2
WHERE persnumber = l_persnumber.
ELSE.
it_output-name2 = it_output-ernam.
ENDIF.
Get get requested by from reciepent point in PO
else PR created by (If PR exists)
CASE it_output-dir_indir.
WHEN 'I'.
Take requested by from Reciepent point.
SELECT SINGLE wempf INTO it_output-name3 FROM ekkn
WHERE ebeln = it_output-ebeln
AND ebelp = it_output-ebelp .
WHEN 'D'.
SELECT SINGLE ernam INTO it_output-name3 FROM eban
WHERE banfn = it_output-banfn
AND ebelp = it_output-ebelp.
IF sy-subrc <> 0.
MOVE it_output-ernam TO it_output-name3.
ENDIF.
SELECT SINGLE persnumber INTO l_persnumber FROM usr21
WHERE bname = it_output-name3.
IF sy-subrc = 0.
SELECT SINGLE name_text FROM adrp INTO it_output-name3
WHERE persnumber = l_persnumber.
ENDIF.
ENDCASE.
translate direction indicator to Indirect or Direct
CASE it_output-dir_indir.
WHEN 'I'. it_output-dir_indir = 'Indirect'.
WHEN 'D'. it_output-dir_indir = 'Direct'.
ENDCASE.
MODIFY it_output.
ENDLOOP.
ENDFORM.
FORM MERGE_FIELDCATALOG *
FORM merge_fieldcatalog.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-cprog
i_internal_tabname = 'IT_OUTPUT'
i_inclname = sy-cprog
CHANGING
ct_fieldcat = it_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
ENDFORM. " MERGE_FIELDCATALOG
FORM modify_fieldcat *
FORM modify_fieldcat.
DATA: wa_fieldcat TYPE slis_fieldcat_alv.
LOOP AT it_fieldcat INTO wa_fieldcat.
CASE wa_fieldcat-fieldname.
WHEN 'DIR_INDIR'.
wa_fieldcat-seltext_m = 'Direct/Indirect'.
WHEN 'NAME2'.
wa_fieldcat-seltext_m = 'PREPARER NAME'.
WHEN 'NAME3'.
wa_fieldcat-seltext_m = 'REQUESTER NAME'.
WHEN 'BEDNR'.
wa_fieldcat-seltext_m = 'SSP PO'.
WHEN 'AEDAT'.
wa_fieldcat-seltext_m = 'PO DOCUMENT DATE'.
WHEN 'BLDAT'.
wa_fieldcat-seltext_m = 'INVOICE DOCU DATE'.
WHEN 'BUDAT'.
wa_fieldcat-seltext_m = 'POSTAGE DATE'.
WHEN 'WRBTR'.
wa_fieldcat-seltext_m = 'LOCAL AMOUNT'.
wa_fieldcat-cfieldname = 'CURR'.
wa_fieldcat-ctabname = wa_fieldcat-tabname.
WHEN 'CURR'.
wa_fieldcat-seltext_m = 'LOCAL CURR'.
WHEN 'NAME1'.
wa_fieldcat-seltext_m = 'VENDOR NAME'.
ENDCASE.
MODIFY it_fieldcat FROM wa_fieldcat.
ENDLOOP.
ENDFORM.
FORM ALV_REPORT *
FORM alv_report.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
it_fieldcat = it_fieldcat[]
TABLES
t_outtab = it_output[].
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. -
Need code for Dynamic check box creation in struts
dynamic checkbox should be created with details of data stored in database(with check mark for already selected check box).
once user make any change to that page and click submit the result ahould be saved in database..
can anybody explain me how to proceed this.
If any sample source code you have plz do sent me..consider these are the details in database
1. apple checked
2. orange
3. mango
4. grapes checked
consider a jsp page which should display list of fruits in the datsbase,
the jsp page should retrieve these data and diaplay with check box.
These should be generated dynamically.
Assume the jsp page has option for user to enter some other fruit name which should be updated into database of fruits and that should be displayed with the jsp page during next visit.(i.e) number of fruits in the database is not constant. -
Dynamic check box creation in selection screen
Hello,
I am trying to put up some check boxes dynamically in a selection screen. The number: of check boxes required and the 'checkbox label text' is to be retrieved from a database table. I have retrieved all these values in AT SELECTION-SCREEN OUTPUT event. But, I dont know how to create check box parameters using these dynamic values. Please help..hi Giffin,
Create a program with name 'Z_13317_DYN_CHKBOX' and paste the following code in it. Also make ensure that an include with name 'Z_13317_DYN_INCL' is not existing earlier because this program will be overwritten each and everytime.
Z_13317_DYN_CHKBOX will take an integer as an input. After giving input, click on the button on selection screen.
Suppose, if you have given 3 as input and if you have clicked the button, then 3 checkboxes will be generated on your selection screen.
REPORT Z_13317_DYN_CHKBOX.
types :begin of t_itab1,
line(72),
end of t_itab1.
data: incl type table of t_itab1 with header line.
parameters: p_tab type i,
p_frst type c no-display.
selection-screen begin of line.
selection-screen: pushbutton 2(20) but1 user-command cli1.
selection-screen end of line.
include z_13317_dyn_incl if found.
initialization.
at selection-screen output.
if p_frst = ' '.
p_frst = 'X'.
perform crt_dyn_incl.
endif.
at selection-screen.
case sy-ucomm.
when 'CLI1'.
perform crt_dyn_incl.
endcase.
*& Form crt_dyn_incl
* text
form crt_dyn_incl .
perform populate_incl.
perform del_incl.
insert report 'Z_13317_DYN_INCL' from incl.
commit work.
submit z_13317_dyn_chkbox via selection-screen with p_frst = p_frst.
endform. " crt_dyn_incl
*& Form del_incl
* text
form del_incl .
call function 'RS_DELETE_PROGRAM'
exporting
program = 'Z_13317_DYN_INCL'
suppress_checks = 'X'
suppress_popup = 'X'
with_cua = ' '
with_documentation = ' '
with_dynpro = 'X'
with_includes = ' '
with_textpool = ' '
with_variants = ' '
if sy-subrc <> 0.
endif.
endform. " del_incl
*& Form populate_incl
* text
form populate_incl .
data: v_cnt type n.
do p_tab times.
v_cnt = v_cnt + 1.
incl-line = 'parameters: '.
concatenate incl-line 'p_chk' v_cnt into incl-line.
concatenate incl-line 'as checkbox.' into incl-line separated by space.
append incl.
clear incl.
enddo.
endform. " populate_incl
Regards,
Sailaja. -
How to put check box in a table format at the out put ? Urgent issue...
Hi,
I am working an assignment to assign multiple roles for multiplr user.
In selection screen we have to enter mutiple EMPNO from ..to
1) in second screen we will get the empno, First name, last name, Position,
From date, To date, Sap user ID, Email id in the table formate with first
column with Check box.
2) In second screen below the table I have to place the multiple roles just like in
the step loop format and below this one Execute button should be there.
If we select the multiple employees or single employee and place the multiple roles or single roles and if I click the execute button then the multiple roles will be assigned to the multiple employees. The empno and roles will come from table and step loop to internal table and the same will pass to the BDC.
For this requirement I prepered recording for Transaction PFCG. But I can't understand how to design the second screen that table format and the step loop format. Can anybody give any idea or any coding to design the second screen.
and how to meet the requirement. This is urgent issue. Good SDN points will be reworded.
Witing for kind response.
Thanks in advance.
BansidharHi upendra
There are slight changes in the sivas code.Where is the data coming into the table.If its from a Model Node then iterate each element of the source node get that value compare and set the corresponding value in the element of the node binded to table.
Create a boolean attribute "select" in the table node and bind it to checked property of the check box.
for(int i=0;i<wdContext.node<tablenode>()..size();i++)
if(wdContext.node<tablenode>().get<tablenode>ElementAt(i).select())
wdContext.node<tablenode>().get<tablenode>ElementAt(i).set<yourattribute>(true);
else
wdContext.node<tablenode>().get<tablenode>ElementAt(i).set<yourattribute>(false);
See the attribute is boolean so pass true or false as a values in setter methods.
Regards
Kalyan -
Event to use for Creation of a Check box on Warehouse master Form
Hi experts
I have created one check box on Warehouse Master form in AfterMENUClick Event. It works fine if I open the form on Menuclick . But If I open the Warehouse master form by Link button from any document, it does not show the check box. I also want to deactive the checkbox if once it checked. So, I do some coding in Data_Load event. It also works fine If I open the form by Menu click. But if I open the form by Link button it gives error " Invalid Item Id ".
So I want to know which event I should use to create the check box and which Event I Should use to Deactive the Check boxThanks Nagy for quick reply
I use the following code for creation of check box
<B1Listener(BoEventTypes.et_FORM_LOAD, False, New String() {"62"})> _
Public Overridable Sub OnAfterFormLoad(ByVal pVal As ItemEvent)
Dim ActionSuccess As Boolean = pVal.ActionSuccess
Dim form As Form = B1Connections.theAppl.Forms.Item(pVal.FormUID)
'ADD YOUR ACTION CODE HERE ...
Dim oForm As Form
Dim oMatrix As Matrix
Dim oItem As Item
Dim sysItem As Item
Dim BinCheck As CheckBox
Dim BinLabel As StaticText
Dim cmbBinCode As ComboBox
oForm = B1Connections.theAppl.Forms.ActiveForm
oForm.PaneLevel = 1
sysItem = oForm.Items.Item("2000002010") 'Excisable check box
oItem = oForm.Items.Add("BinChk", BoFormItemTypes.it_CHECK_BOX)
oItem.Left = sysItem.Left
oItem.Top = sysItem.Top + 20
BinCheck = oItem.Specific
BinCheck.Caption = "Bin Enabled"
BinCheck.DataBind.SetBound(True, "OWHS", "U_BinEnabled")
End Sub
It gives error on sysItem = oForm.Items.Item("2000002010") line Invalid Item Id
Plz check and tell the problem
Regards
Gorge -
R12: New Instance creation: what is create warranty check box?
Hello all,
In R12, we can create Item instance from Contract launchpad screen itself.
When New Instance sub form opens, it has "create warranty" check box.
What is the purpose of this checkbox?
Regards
PreetiYes,you can create so that you can cover this instance in the same contract quickly ( i am hoping it is not automatically adding to the contract where you created from). This must be keeping in mind the customer service getting calls about new product that customer wanted to get covered.
Warranty creation depends on whether the product (item) has BOM with warranty item as a component or not. Do you have that setup done for this item?
Thanks
Nagamohan -
Urgent Help Required for Check Box in Table Column
Hi all,
Could any body help me to solve my problem?
First of all I have created a table whose one column is check box. The column of the tables are Name,Phone,ID,Address and a checkBox columns.In one view
the table will be found with data. I want to click on some of the rows(suppose there are 5 rows, but based on some condition I have selected the check box of 3 rows).
Next there will be a button(Supose SEND Button).
After selecting the check box I want to press that button and then a new window will come which will show two tables. one for selected rows(with the same columns name except check box) and another for Unchecked rows with the same column name(Name,Phone,ID,Address).
Could any body help me by sending the details and code?
Thanks and Regards.
SudipHi Sudip,
1) create custom controller and appropriate context structure there (dataNode(Name,Phone,ID,Address,Check))
2) create view StartView. Map data node from custom controller to node in view. Create table and bind context node attributes to appropriate table columns.
3) create view ResultView. Map data node from custom controller to node in view. Create 2 nodes (CheckedData, UncheckedData) with supply methods. Create filtering implementation in supply methods (add checked and unchecked node elements to appropriate nodes).
4) create new window with resultView as default view
4) in startView in button action handler put something like
IWDWindowInfo _windowInfo = wdComponentAPI.getComponentInfo().findInWindows("Popup");
IWDWindowManager manager = wdComponentAPI.getWindowManager();
IWDWindow _window = manager.createWindow(_windowInfo, true);
_window.open();
So, just tried localy and it works.
Best regards, Maksim Rashchynski. -
Hi,
I'am working on the Hierarchical Tree structure which should have three levels, I need to have a check box in the place of the icon & if i select a node that node & the child nodes should get selected.
After this when i say move selected ( i'am trying to use picklist class also) the entire checked tree has to move to the display area to the right & should display as tree structure & after this if i save then the checked records which are moved to another text area should get saved!!
How to achieve this? I have the tree structure ready but the check box part is the worrying factor! & then moving the checked records to the right using picklist class is the second problem & finally saving records to database.
Any help in this regard will be deeply appreciated:)
If check box is not possible then i will have to look at other methods, will the tree structure allow checkboxes????
Thanks
MaheshNo the tree will not allow checkboxes
-
Urgent ! how to put check box in the smartform
<b>can anyone tell me how to display a check box (unselected) in the smartform.....</b>
Hi,
Try this.
Change the editor to 'PC Editor' and take the menu.
Include -> Characters -> SAP Symbols
Check this also.
Re: How to create checkbox in smartforms??
Message was edited by: Jayanthi Jayaraman -
How to get check box in reuse_alv_hierswq_list_display? urgent
hi ,
can anyone help to know ,how to get check box in reuse_alv_hierswq_list_display
shanCheck the standard program BALVBT02
Regards
Wenceslaus -
Row is not deleted when check box is selected urgent please
my problem is, i am creating number of rows dynamicaly and storing the values in the database. I do have one delete check box. if the user checked that box that row should be deleted. I am using array to return the check box values. It is working fine when there is multiple rows.. suppose if i do have only one row and trying to delete that row i am getting an exception. Please help me to solve this issue, here ismy jsp
<%@page language="java" import="java.lang.*, java.sql.*, java.io.*,
java.util.*"%>
<%@ page import="DatabaseConnection"%>
<%@ page import="AdjustmentsBean"%>
<%@ page import="AdjustmentTransactionInfo"%>
<%@ page import="CustomerLocationInfo"%>
<%@ page import="EmersonGlobalConstants"%>
<%@ page import="CallPLSQLFunc"%>
<%@include file="Security.jsp" %>
<%
AdjustmentsBean adjustments = new AdjustmentsBean();
String userName=(String)session.getAttribute("user_name");
String divisionCode=(String)session.getAttribute("division_code");
String divisionName=(String)session.getAttribute("division_code_name");
if(userName==null){userName="";}
if(divisionCode==null){divisionCode="";}
if(divisionName==null){divisionName="";}
GregorianCalendar calendar = (GregorianCalendar)Calendar.getInstance();
CallPLSQLFunc callPLSQLFunc = new CallPLSQLFunc();
Vector months = callPLSQLFunc.getMonths(divisionCode);
String cMonth = callPLSQLFunc.getCurrentMonth(divisionCode);
System.out.println("%%%%%%%%%" +months);
//int mm = calendar.get(Calendar.MONTH) + 1;
//int yyyy = calendar.get(Calendar.YEAR);
if(months ==null){
months=new Vector();
int mmst=0;
int yyst=0;
if(months.size()>=1){
//mmst=Integer.parseInt(new String(((String)months.get(0)).charAt(0)));
mmst=Integer.parseInt(String.valueOf(((String)months.get(0)).charAt(0)));
yyst=Integer.parseInt(((String)months.get(0)).substring(3,6));
StringTokenizer token1 = new StringTokenizer(cMonth,"-");
yyst=Integer.parseInt(token1.nextToken());
mmst=Integer.parseInt(token1.nextToken());
int ddst = Integer.parseInt(token1.nextToken());
String currentDate= (mmst<10?"0"+mmst:mmst+"") + "/" + yyst;
System.out.println("The current date is" + currentDate);
String slectedMonth = request.getParameter("selectedMonth");
String selectedDate=currentDate;
if(slectedMonth != null && slectedMonth.trim().length()>0){
selectedDate=slectedMonth;
boolean modifyAllowed=false;
if(selectedDate.equalsIgnoreCase(currentDate)){
modifyAllowed=true;
String admin=(String)session.getAttribute("admin");
if(admin==null){admin="false";}
if(admin.equalsIgnoreCase("true") ){
modifyAllowed=true;
%>
<%
Vector transactions = adjustments.getTransactionsOfMonth(selectedDate,divisionCode);
Vector customers = adjustments.getAllCustomers();
System.out.println("customers : "+customers.size());
%>
<html>
<head>
<script>
var modifyAllowed;
if(<%=modifyAllowed%> == true){
modifyAllowed = '';
}else{
modifyAllowed = 'disabled';
var EAS_Cust_Loc_Num_Key = new Array(<%=customers.size()%>);
var EAS_Cust_Num_Key = new Array(<%=customers.size()%>);
var EAS_Cust_Num = new Array(<%=customers.size()%>);
var EAS_Cust_Name = new Array(<%=customers.size()%>);
var customerWiseLocationNumKey = new Array(<%=customers.size()%>);
var customerWiseLocationName = new Array(<%=customers.size()%>);
<%
for(int i=0;i<customers.size();i++){
CustomerLocationInfo cl = (CustomerLocationInfo)customers.get(i);
%>
EAS_Cust_Loc_Num_Key[<%=i%>] = "<%=cl.getEAS_Cust_Loc_Num_Key()%>";
EAS_Cust_Num_Key[<%=i%>] = "<%=cl.getEAS_Cust_Num_Key()%>";
EAS_Cust_Num[<%=i%>] = "<%=cl.getEAS_Cust_Num()%>";
EAS_Cust_Name[<%=i%>] = "<%=cl.getEAS_Cust_Name()%>";
var locationNumKey = new Array(<%=cl.getLocations().size()%>);
var locationName = new Array(<%=cl.getLocations().size()%>);
<%
int j=0;
Enumeration enum = cl.getLocations().keys();
while(enum.hasMoreElements()){
String s = (String)enum.nextElement();
String name = (String)cl.getLocations().get(s);
%>
locationNumKey[<%=j%>]="<%=s%>";
locationName[<%=j%>]="<%=name%>";
<%
j=j+1;
%>
customerWiseLocationNumKey[<%=i%>] = locationNumKey;
customerWiseLocationName[<%=i%>] = locationName;
<%
%>
function changeMonth(){
window.document.adjustmentForm.action="Adjustments.jsp";
adjustmentForm.submit();
function populateLocation(id){
var table = document.getElementById('myTable');
var rows = table.rows.length-2;
var theForm = document.forms[0];
var wRow = theForm["location"];
var wCustRow = theForm["customer"];
var len;
var locobj ;
var custobj ;
if(rows ==1){
locobj =wRow;
}else{
locobj =wRow[id];
if(rows ==1){
custobj =wCustRow;
}else{
custobj =wCustRow[id];
len = locobj.options.length;
locobj.selectedIndex=0;
for(z=0;z<len;++z){
locobj.options[z] = null;
locobj.options.length=0;
locobj.options[0] = new Option("Select Any Location");
var cIndex = custobj.selectedIndex;
if(cIndex !=0){
for(i=1;i<=customerWiseLocationName[cIndex-1].length;i++){
locobj.options = new Option(customerWiseLocationName[cIndex-1][i-1],customerWiseLocationNumKey[cIndex-1][i-1]);
function addRow(id){
var table = document.getElementById(id);
var sHTML = new Array() ;
var cus = "<select name=customer onChange='javascript:populateLocation("+(table.rows.length-2)+")'"+modifyAllowed+"><OPTION VALUE=''>Select Any Customer</OPTION>";
var options;
for(i=0;i<EAS_Cust_Num.length;i++){
options = options+"<OPTION VALUE='" + EAS_Cust_Num +"'>" + EAS_Cust_Name + "</OPTION>";
cus=cus+options+"</select>";
sHTML[0] = "<input type=checkbox name=chk "+modifyAllowed+" onClick=changedisable("+(table.rows.length-2)+")><input type=hidden name=adid value='' ><input type=hidden name=isdelete value='false'>";
sHTML[1] = cus;
sHTML[2] = "<select name='location'"+modifyAllowed+"><OPTION VALUE=''>Select Any Location</OPTION>";
sHTML[3] = "<input type=text size=10 maxlength=40 name=sku"+modifyAllowed+"> <input type=button value=Search onClick=window.open('SearchSKU.jsp?cnt="+(table.rows.length-2)+"','SearchSKU','width=350,height=350,top=150,left=150,scrollbars=yes')>";
sHTML[6] = "<input type=hidden name=shipnotbilled "+modifyAllowed+" onClick=changeisshipnotbilled("+(table.rows.length-2)+")><input type=hidden name=isshipnotbilled value='false'>";
sHTML[4] = "<input type=text size=10 maxlength=40 name=units "+modifyAllowed+">";
sHTML[5] = "<input type=text size=10 maxlength=40 name=amount "+modifyAllowed+">";
var newRow = table.insertRow(-1);
var sHTMLIndex = sHTML.length ;
for(i=0;i<sHTMLIndex;i++) {
var newCellSelect = newRow.insertCell(-1);
newCellSelect.innerHTML = sHTML;
function validate(){
var table = document.getElementById('myTable');
var theForm = document.forms[0];
var wRow = theForm["amount"];
var custRow = theForm["customer"];
var locRow = theForm["location"];
var quantityRow = theForm["units"];
var count = table.rows.length;
var rows = table.rows.length-2;
var obj;
if(rows==1){ //only one row..
if(wRow.value==""){
alert("Amount field is mandatory. Please fill in amount");
return false;
if(custRow.selectedIndex==0){
alert("Customer is mandatory. Please select the customer");
return false;
if(locRow.selectedIndex==0){
alert("Location is mandatory. Please select the location");
return false;
if(! isAmount(wRow.value) ){
alert("Amount is numeric. Please enter numeric value for amount");
return false;
if(!isQuantity(quantityRow.value)){
alert("Quantity is numeric. Please enter numeric value for quantity");
return false;
}else{ //this means more than one rows..
for(i=0;i<count-2;i++){
if(wRow.value==""){
alert("Amount field is mandatory. Please fill in amount for transaction no "+(i+1));
return false;
if(wRow.value== 0){
alert("Please fill non zero value for Amount "+(i+1));
return false;
if(custRow.selectedIndex==0){
alert("Customer is mandatory. Please select the customer for transaction no "+(i+1));
return false;
if(locRow.selectedIndex==0){
alert("Location is mandatory. Please select the location for transaction no "+(i+1));
return false;
if(! isAmount(wRow.value) ){
alert("Amount is numeric. Please enter numeric value for amount of transaction no "+(i+1));
return false;
if(!isQuantity(quantityRow.value)){
alert("Quantity is numeric. Please enter numeric value for quantity of transaction no "+(i+1));
return false;
if(quantityRow.value== 0){
alert("Please fill non zero value for Units "+(i+1));
return false;
return true;
function isQuantity(value){
for (k=0;k<value.length;k++){
if(k==0){
if(!(value.charAt(k)>=0 && value.charAt(k)<=9) ){
if(value.charAt(k)!='-'){
break;
}else{
if(!(value.charAt(k)>=0 && value.charAt(k)<=9)){
break;
if(k == value.length){
return true;
}else{
return false;
function isAmount(value){
for (k=0;k<value.length;k++){
if(k==0){
if(!(value.charAt(k)>=0 && value.charAt(k)<=9) ){
if(value.charAt(k)!='-'){
break;
}else{
if((!(value.charAt(k)>=0 && value.charAt(k)<=9)) ){
if(value.charAt(k) !='.'){
break;
if(k == value.length){
return true;
}else{
return false;
function changedisable(index){
if(document.adjustmentForm.chk[index].checked){
document.adjustmentForm.isdelete[index].value='true';
}else{
document.adjustmentForm.isdelete[index].value='false';
function changeisshipnotbilled(index){
if(document.adjustmentForm.shipnotbilled[index].checked){
document.adjustmentForm.isshipnotbilled[index].value='true';
}else{
document.adjustmentForm.isshipnotbilled[index].value='false';
function backtoHome(){
window.document.adjustmentForm.action="Welcome.jsp";
adjustmentForm.submit();
function setData(cnt,num){
var table = document.getElementById('myTable');
var rows = table.rows.length-2;
if(rows==1){
window.document.adjustmentForm.sku.value=num;
}else{
window.document.adjustmentForm.sku[cnt].value=num;
</script>
<link rel="stylesheet" type="text/css" href="main.css" />
<%= EmersonGlobalConstants.TITLE %>
</head>
<body class="trAppId1" alink="blue" vlink="blue" link="blue">
<form name="adjustmentForm" method="get" action="AdjustmentServlet"
target="display">
<center>
<br>
Manual Sales Application
<br>User Name: <%=userName%>, Division Code: <%=divisionCode%>,
Division Name: <%=divisionName%>
<br>
<br><br><br>
<b>Date: </b>
<Select name="selectedMonth" onChange="javascript:return changeMonth();">
<%
for(int i=0;i<months.size();i++){
String mon = (String)months.get(i);
System.out.println("mon *********** : "+mon);
//mmst=Integer.parseInt(new String(((String)months.get(i)).charAt(0)));
mmst=Integer.parseInt(String.valueOf(((String)months.get(i)).charAt(0)));
yyst=Integer.parseInt(((String)months.get(i)).substring(3,6));
out.println("<option value='"+ (mmst<10?"0"+mmst:mmst+"") + "/" + yyst+"' "+(selectedDate.equalsIgnoreCase((mmst<10?"0"+mmst:mmst+"") + "/" + yyst)?"selected":"") +">"+getMonth(mmst) + ", " + yyst+"</option>");
for(int i=0;i<months.size();i++){
String mon = (String)months.get(i);
StringTokenizer token = new StringTokenizer(mon,"/");
String mmm= token.nextToken();
String yyy= token.nextToken();
System.out.println("mon *********** : "+mon);
mmst=Integer.parseInt(mmm);
yyst=Integer.parseInt(yyy);
System.out.println("selectedDate**** "+selectedDate);
out.println("<option value='"+ (mmst<10?"0"+mmst:mmst+"") + "/" + yyst+"' "+(selectedDate.equalsIgnoreCase((mmst<10?"0"+mmst:mmst+"") + "/" + yyst)?"selected":"") +">"+getMonth(mmst) + ", " + yyst+"</option>");
%>
</select>
<br><br>
</center>
<table id="myTable" class="tableForm" border="1" cellpadding="1" cellspacing="1" width="100%" align="center">
<tr class="trFormHead"><td colspan="7"> Adjustment Transactions</td></tr>
<tr>
<td width = 2%><b>Delete</b></td>
<td width = 25% align=center><b>Customer<font color=red> *</font></td>
<td width = 25% align=center><b>Location<font color=red> *</font></td>
<td width = 20% align=center><b>SKU<font color=red> *</font></td>
<!-- <td width = 5% align=center><b>SNB</td> -->
<td width = 9% align=center><b>Units<font color=red> *</font></td>
<td width = 9% align=center><b>Amount<font color=red> *</font></td>
</tr>
<%
int index=0;
AdjustmentTransactionInfo transacrionInfo;
for(;index<transactions.size();index++){
transacrionInfo = (AdjustmentTransactionInfo)transactions.get(index);
%>
<input type=hidden name=adid value='<%=transacrionInfo.getAdjustmentId()%>' >
<TR>
<td><input type=checkbox name=chk <%=modifyAllowed?"":"disabled"%> onClick=changedisable(<%=index%>) >
<input type=hidden name=isdelete value='false'></td>
<td >
<select name=customer <%=modifyAllowed?"":"disabled"%> onChange='javascript:populateLocation(<%=index%>)' >
<OPTION VALUE="">Select Any Customer</OPTION>
<%
for(int i=0;i<customers.size();i++){
CustomerLocationInfo cl =(CustomerLocationInfo)customers.get(i);
//this is done considering that EASCustLocNum of transaction is same as EAS_Cust_Loc_Num_Key of customer table.
String selected = cl.getLocations().containsKey(transacrionInfo.getEASCustLocNum())?"selected":"";
out.println ("<OPTION VALUE='" + cl.getEAS_Cust_Num() + "'"+selected+">" + cl.getEAS_Cust_Name() + "</OPTION>");
%>
</select>
</td>
<td>
<select name="location" <%=modifyAllowed?"":"disabled"%> >
<OPTION VALUE="">Select Any Location</OPTION>
<%
for(int i=0;i<customers.size();i++){
CustomerLocationInfo cl = (CustomerLocationInfo)customers.get(i);
if(cl.getLocations().containsKey(transacrionInfo.getEASCustLocNum())){
Hashtable locations = cl.getLocations();
Enumeration enum = locations.keys();
while(enum.hasMoreElements()){
String key =(String)enum.nextElement();
out.println ("<OPTION VALUE='" + key +"'"+(key.equalsIgnoreCase(transacrionInfo.getEASCustLocNum())?"selected":"")+">"+ locations.get(key) + "</OPTION>");
%>
</select>
</td>
<td>
<script>
function openURL(URL,windowName){
</script>
<input type=text size=10 maxlength=40 name=sku value="<%=transacrionInfo.getProductionSKUNum()%>"<%=modifyAllowed?"":"disabled"%> >
<input type=button value="Search"onclick="javascript:window.open('SearchSKU.jsp?cnt=<%=index%>', 'SearchSKU', 'width=350,height=350,top=150,left=150,scrollbars=yes');">
</td>
<!--
<td>
<input type="checkbox" name="shipnotbilled" <%=transacrionInfo.getShipNotBilled()?"checked":""%><%=modifyAllowed?"":"disabled"%> onClick=changeisshipnotbilled(<%=index%>)><input type=hidden name=isshipnotbilled value='<%=transacrionInfo.getShipNotBilled()?"true":"false"%>'>
</td>
-->
<input type=hidden name="shipnotbilled" <%=transacrionInfo.getShipNotBilled()?"checked":""%> <%=modifyAllowed?"":"disabled"%> onClick=changeisshipnotbilled(<%=index%>) ><input type=hidden name=isshipnotbilled value='<%=transacrionInfo.getShipNotBilled()?"true":"false"%>'>
<td>
<input type="text" size="10" name="units" value="<%=transacrionInfo.getAdjustmentQty()%>"<%=modifyAllowed?"":"disabled"%> >
</td>
<td>
<input type="text" size="10" name="amount" value="<%=transacrionInfo.getAdjustmentAmt()%>" <%=modifyAllowed?"":"disabled"%> >
</td>
</tr>
<%
/*if(transactions== null || transactions.size()==0){
out.println ("<tr><td></td><td colspan=6 align =
center><b> Transactions not available</b></td></tr>");
%>
</Table>
<br>
<br>
<%
if(modifyAllowed){
%>
<b>AddTransaction</b>
<br><b>Transactions marked will be deleted on submit</b>
<br>
<b>Fields marked with <font color=red>*</font> are mandatory.</b>
<%
%>
<center>
<br>
<%
if(modifyAllowed){
%>
<input type=submit value="Submit Form!" onClick='javascript:return validate()'>
<%
}else{
%>
<input type=button value="Back to Home Page" onClick='javascript:backtoHome()'>
<%
%>
</center>
</form>
<br><hr>
</body>
</html>
<%!
String getMonth(int month){
switch(month){
case 1:
return "JAN";
case 2:
return "FEB";
case 3:
return "MAR";
case 4:
return "APR";
case 5:
return "MAY";
case 6:
return "JUN";
case 7:
return "JUL";
case 8:
return "AUG";
case 9:
return "SEP";
case 10:
return "OCT";
case 11:
return "NOV";
case 12:
return "DEC";
return "JAN";
%>I haven't read your code, but can make a guess at what's going wrong. Checkboxes do behave in a weird manner depending upon whether you have selected one or many.
Assuming this is the statement where you are generating the checkbox :
<input type="checkbox" name="checkBoxName" value="<%= someValue %>">
What you could do is read the checked checkBoxes in an array :
String[] values = request.getParameterValues("checkBoxName");
int sizeOfValues = values.length;
Then use the sizeOfValues to perform your delete action :
if (sizeOfValues==1)
performDelete();
else
for (int i=0; i<sizeOfValues(); i++)
performDelete();
Hope this technique works. -
Creation of check boxes in the ALV report
Hi All,
With all your support i'm gaining more knowledge, thank's for that,
in my ALV report i want to create a check boxes if the check boxs are elected and processed then the particular records is going to disappear,
How can we do this,
Thanks & Regards
Krishnahi,
i have done this one.please check my code.
TYPE-POOLS : slis.
TYPES : BEGIN OF st_ekko,
ebeln TYPE ekko-ebeln, "Purchasing Document Number
bstyp TYPE ekko-bstyp, "Purchasing Document Category
bsart TYPE ekko-bsart, "Purchasing Document Type
aedat TYPE ekko-aedat, "record created on
ernam TYPE ekko-ernam, "Person who Created the Object
check(1),
END OF st_ekko.
TYPES : BEGIN OF st_ekpo,
ebeln TYPE ekko-ebeln,
ebelp TYPE ekpo-ebelp, "Item Number of Purchasing Document
ematn TYPE ekpo-ematn, "Material number
matkl TYPE ekpo-matkl, "Material group
netpr TYPE ekpo-netpr, "Net price in purchasing document
END OF st_ekpo.
TYPES : BEGIN OF st_ebeln,
ebeln TYPE ekpo-ebeln,
END OF st_ebeln.
TYPES : BEGIN OF st_eine,
ebeln TYPE ekko-ebeln,
ekorg TYPE eine-ekorg,
ekgrp TYPE eine-ekgrp,
END OF st_eine.
TYPES : BEGIN OF st_check,
check(1),
END OF st_check.
DATA : it_ekpo TYPE STANDARD TABLE OF st_ekpo,
it_ekko TYPE STANDARD TABLE OF st_ekko,
wa_ekko LIKE LINE OF it_ekko,
it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat,
wa_layout TYPE slis_layout_alv,
it_events TYPE slis_t_event,
st_event LIKE LINE OF it_events,
it_listheadr TYPE slis_t_listheader ,
wa_listheadr LIKE LINE OF it_listheadr,
st_printparams TYPE slis_print_alv,
it_sortinfo TYPE slis_t_sortinfo_alv,
wa_sortinfo LIKE LINE OF it_sortinfo,
it_ekposortinfo TYPE slis_t_sortinfo_alv,
wa_ekposortinfo LIKE LINE OF it_ekposortinfo,
it_filter TYPE slis_t_filter_alv,
it_ebeln TYPE STANDARD TABLE OF st_ebeln,
it_eine TYPE STANDARD TABLE OF st_eine,
wa_eine TYPE st_eine,
it_popup TYPE STANDARD TABLE OF st_eine,
wa_popup TYPE st_eine,
it_check TYPE STANDARD TABLE OF st_check,
wa_check TYPE st_check.
DATA : v_ebeln TYPE ekko-ebeln.
SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE tit.
SELECT-OPTIONS: so_ebeln FOR v_ebeln OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b.
INITIALIZATION
INITIALIZATION.
tit = text-000.
AT SELECTION-SCREEN ON
AT SELECTION-SCREEN ON so_ebeln.
PERFORM validate_ebeln.
START-OF-SELECTION
START-OF-SELECTION.
PERFORM get_ekko_data.
PERFORM get_eine_data.
END-OF-SELECTION
END-OF-SELECTION.
PERFORM populate_fieldcat1.
PERFORM populate_layout.
PERFORM get_eventlist.
PERFORM get_ekkosortinfo.
PERFORM ekkodisplay_onalv.
*& Form POPULATE_FIELDCAT1
FORM populate_fieldcat1.
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-seltext_l = text-004.
wa_fieldcat-no_zero = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'BSTYP'.
wa_fieldcat-seltext_l = text-005.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'BSART'.
wa_fieldcat-seltext_l = text-006.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'AEDAT'.
wa_fieldcat-seltext_l = text-007.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'ERNAM'.
wa_fieldcat-seltext_l = text-008.
APPEND wa_fieldcat TO it_fieldcat.
ENDFORM. "POPULATE_FIELDCAT1
*& Form populate_fieldcat2
FORM populate_fieldcat2 .
CLEAR wa_fieldcat.
CLEAR it_fieldcat.
REFRESH it_fieldcat.
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-seltext_l = text-004.
wa_fieldcat-hotspot = 'X'.
wa_fieldcat-no_zero = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'EBELP'.
wa_fieldcat-seltext_l = text-009.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'EMATN'.
wa_fieldcat-seltext_l = text-010.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'MATKL'.
wa_fieldcat-seltext_l = text-011.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'NETPR'.
wa_fieldcat-seltext_l = text-012.
wa_fieldcat-datatype = 'CURR'. "Obligatory to perform SUM
wa_fieldcat-do_sum = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
ENDFORM. "populate_fieldcat2
*& Form GET_EVENTLIST
FORM get_eventlist.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = it_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.
READ TABLE it_events WITH KEY name = slis_ev_pf_status_set INTO st_event.
IF sy-subrc EQ 0.
st_event-form = 'SET_PF_STATUS1'.
APPEND st_event TO it_events.
CLEAR st_event.
ENDIF.
READ TABLE it_events WITH KEY name = slis_ev_end_of_page INTO st_event.
IF sy-subrc EQ 0.
st_event-form = 'END_OF_PAGE'.
APPEND st_event TO it_events.
CLEAR st_event.
ENDIF.
ENDFORM. "GET_EVENTLIST
*& Form ekpodisplay_onalv
FORM ekpodisplay_onalv .
IF it_ekpo[] IS INITIAL.
MESSAGE 'NO DATA FOUND' TYPE 'I'.
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'AT_USER_COMMAND1'
i_callback_top_of_page = '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 = wa_layout
it_fieldcat = it_fieldcat
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
it_sort = it_ekposortinfo[]
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 = it_ekpo
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.
ENDIF.
ENDFORM. "ekpodisplay_onalv
*& Form SET_PF_STATUS1
FORM set_pf_status1 USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'MENU' excluding rt_extab. "Copy from SALV .
ENDFORM. "SET_PF_STATUS1
*& Form SET_PF_STATUS
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD' excluding rt_extab. "Copy from SALV .
ENDFORM. "SET_PF_STATUS
*& Form AT_user_command
FORM at_user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname EQ 'EBELN'.
READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
SELECT ebeln ebelp ematn matkl netpr
FROM ekpo
INTO TABLE it_ekpo
WHERE ebeln EQ wa_ekko-ebeln.
PERFORM populate_fieldcat2.
PERFORM populate_layout2.
PERFORM get_ekposortinfo.
PERFORM ekpodisplay_onalv.
ELSE.
MESSAGE i020(z50871msg) WITH text-013.
ENDIF.
WHEN 'SE16'.
CALL TRANSACTION 'SE16'.
WHEN 'SE37'.
CALL TRANSACTION 'SE37'.
WHEN 'DISP'.
PERFORM get_popupdata.
PERFORM get_popupfcat.
PERFORM display_popup.
ENDCASE.
ENDFORM. "AT_user_command
*& Form TOP_OF_PAGE
FORM top_of_page.
REFRESH it_listheadr.
wa_listheadr-typ = 'H'.
wa_listheadr-info = text-001.
APPEND wa_listheadr TO it_listheadr.
CLEAR wa_listheadr.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_listheadr[]
i_logo = 'ENJOYSAP_LOGO'. "From OAER transaction
ENDFORM. "TOP_OF_PAGE
*& Form build_print_params
FORM build_print_params.
st_printparams-reserve_lines = '3'. "Lines reserved for footer
st_printparams-no_coverpage = 'X'.
ENDFORM. "build_print_params
*& Form end_of_page
FORM end_of_page.
REFRESH it_listheadr.
wa_listheadr-typ = 'H'.
wa_listheadr-info = sy-pagno.
APPEND wa_listheadr TO it_listheadr.
CLEAR wa_listheadr.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_listheadr[].
ENDFORM. "end_of_page
*& Form GET_EKPOSORTINFO
FORM get_ekposortinfo.
wa_ekposortinfo-up = 'X'.
wa_ekposortinfo-spos = 1.
wa_ekposortinfo-fieldname = 'EBELP'.
wa_ekposortinfo-tabname = 'EKPO'.
APPEND wa_ekposortinfo TO it_ekposortinfo.
CLEAR wa_ekposortinfo.
wa_ekposortinfo-up = 'X'.
wa_ekposortinfo-spos = 2.
wa_ekposortinfo-fieldname = 'EMATN'.
wa_ekposortinfo-tabname = 'EKPO'.
APPEND wa_ekposortinfo TO it_ekposortinfo.
CLEAR wa_ekposortinfo.
ENDFORM. "GET_EKPOSORTINFO
*& Form POPULATE_LAYOUT
FORM populate_layout.
wa_layout-colwidth_optimize = 'X'. "column width
wa_layout-zebra = 'X'.
wa_layout-no_hline = 'X'.
wa_layout-no_vline = 'X'.
wa_layout-cell_merge = 'X'.
wa_layout-box_fieldname = 'CHECK'.
wa_layout-box_tabname = 'IT_EKKO'.
wa_layout-window_titlebar = 'PURCHASE ORDER HEADER DETAILS'.
ENDFORM. "POPULATE_LAYOUT
*& Form get_EKKOsortinfo
FORM get_ekkosortinfo.
wa_sortinfo-up = 'X'.
wa_sortinfo-spos = 1.
wa_sortinfo-fieldname = 'EBELN'.
wa_sortinfo-tabname = 'EKKO'.
APPEND wa_sortinfo TO it_sortinfo.
CLEAR wa_sortinfo.
wa_sortinfo-up = 'X'.
wa_sortinfo-spos = 2.
wa_sortinfo-fieldname = 'BSTYP'.
wa_sortinfo-tabname = 'EKKO'.
APPEND wa_sortinfo TO it_sortinfo.
CLEAR wa_sortinfo.
wa_sortinfo-up = 'X'.
wa_sortinfo-spos = 3.
wa_sortinfo-fieldname = 'AEDAT'.
wa_sortinfo-tabname = 'EKKO'.
APPEND wa_sortinfo TO it_sortinfo.
CLEAR wa_sortinfo.
ENDFORM. "get_EKKOsortinfo
*& Form EKKODISPLAY_ONALV
FORM ekkodisplay_onalv.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS1'
i_callback_user_command = 'AT_USER_COMMAND'
is_layout = wa_layout
it_fieldcat = it_fieldcat
it_sort = it_sortinfo[]
it_filter = it_filter
it_events = it_events[]
TABLES
t_outtab = it_ekko[]
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. "EKKODISPLAY_ONALV
*& Form validate_ebeln
FORM validate_ebeln.
SELECT ebeln
FROM ekpo
INTO TABLE it_ebeln
WHERE ebeln IN so_ebeln.
IF sy-subrc NE 0.
MESSAGE e020(z50871msg) WITH text-014.
ENDIF.
ENDFORM. "validate_ebeln
*& Form populate_layout2
FORM populate_layout2 .
CLEAR wa_layout.
wa_layout-colwidth_optimize = 'X'. "column width
wa_layout-zebra = 'X'.
wa_layout-no_hline = 'X'.
wa_layout-no_vline = 'X'.
wa_layout-cell_merge = 'X'.
wa_layout-window_titlebar = 'PURCHASE ORDER DETAILS SECOND SCREEN'.
ENDFORM. " populate_layout2
*& Form GET_POPUPDATA
FORM get_popupdata .
LOOP AT it_ekko INTO wa_ekko WHERE check = 'X'.
READ TABLE it_eine INTO wa_eine WITH KEY ebeln = wa_ekko-ebeln.
IF sy-subrc NE 0.
MESSAGE i020(z50871msg) WITH text-015 wa_ekko-ebeln .
ELSE.
wa_popup-ebeln = wa_eine-ebeln.
wa_popup-ekorg = wa_eine-ekorg.
wa_popup-ekgrp = wa_eine-ekgrp.
APPEND wa_popup TO it_popup.
ENDIF.
ENDLOOP.
ENDFORM. " GET_POPUPDATA
*& Form GET_POPUPFCAT
FORM get_popupfcat .
CLEAR wa_fieldcat.
REFRESH it_fieldcat.
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-seltext_l = text-004.
wa_fieldcat-hotspot = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'EKORG'.
wa_fieldcat-seltext_l = text-016.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'EKGRP'.
wa_fieldcat-seltext_l = text-017.
APPEND wa_fieldcat TO it_fieldcat.
ENDFORM. " GET_POPUPFCAT
*& Form DISPLAY_POPUP
FORM display_popup .
LOOP AT it_ekko INTO wa_ekko WHERE check EQ 'X'.
wa_check-check = wa_ekko-check.
APPEND wa_check TO it_check.
ENDLOOP.
IF it_check[] IS INITIAL.
MESSAGE i020(z50871msg) WITH text-018.
ENDIF.
IF NOT it_popup[] IS INITIAL.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_title = text-003
i_allow_no_selection = 'X'
i_scroll_to_sel_line = 'X'
i_tabname = 'IT_POPUP'
it_fieldcat = it_fieldcat
i_callback_program = sy-repid
TABLES
t_outtab = it_popup
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.
ENDIF.
REFRESH it_check.
REFRESH it_popup.
ENDFORM. " DISPLAY_POPUP
*& Form get_ekko_data
FORM get_ekko_data .
SELECT ebeln bstyp bsart aedat ernam
FROM ekko
INTO CORRESPONDING FIELDS OF TABLE it_ekko
WHERE ebeln IN so_ebeln.
IF sy-subrc NE 0.
MESSAGE e020(z50871msg) WITH text-019.
ENDIF.
ENDFORM. " get_ekko_data
*& Form get_eine_data
FORM get_eine_data .
SELECT ebeln ekorg ekgrp
FROM eine
INTO TABLE it_eine
WHERE ebeln IN so_ebeln.
ENDFORM. " get_eine_data
*& Form at_user_command1
FORM at_user_command1 USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN 'SE16'.
CALL TRANSACTION 'SE16'.
WHEN 'SE37'.
CALL TRANSACTION 'SE37'.
ENDCASE.
regards,
pavan t. -
(Smartform)check box display in a table....very urgent
Hi..
i inserted check box by going to <b>sap symbols and inserted check box</b> but i am unable to see print preview and also in the printout.
Can any one tell me how to insert check box in a <u><b>table.</b></u>
your help will be appreciated.<b></b>Hello,
As discussed earlier in many posts, it is better you load a graphic for Check box ( Checked and Empty ) is Tx SE78. You can create .bmp files for the same in MS paint.
In a table node in the SSF, every line in the table will be accessed once in a loop. So you create an alternative node to check the condition when your Check box is to be checked or empty ( may be based on some field data in the work area). Then you call the necessary graphic ( Checked check box or a empty check box ). A Graphic node is to be created under the alternative node. Do remember to place the graphic in appropriate Line and Cell in your table by giving proper output options.
Hope this helps you.
Best Regards, Murugesh AS -
Adding check box in VL01n under item level. URGENT PLEASE!!
Hi,
I have the requirement like below.
Add a check box in VL01n / VL02n in item level under loading and shipment" tab.
Could anybody please tell me, is there any user exit? Can we add custom fields in standard loading and shipment screen?
Thanks
Kumar.Hi Mahendra,
I am not able to find this badi( LE_SHP_TAB_CUST_ITEM) in SE19. I am getting message like 'BAdI implementation LE_SHP_TAB_CUST_ITEM does not exist!'.
Could you please help on this?
Thanks in advance.
Maybe you are looking for
-
Can you have two iPods on the same account
I have an Itouch and an old classic that I want to load different music on. Can I have two ipods on the same account? Thanks
-
To solve the iTunes store problem, I have tried the suggestions suggested by Apple on the website to no avail. Since downloading the last iTunes update, I can no longer access radio broadcasts. It tries to connect to tuning service, but the refresh
-
Help! I can't print or save.
I am just installed the trial of iWork Numbers and can't print or save and get an error stating that I must buy it before i can save. It's extremely annoying as I can't put it to the test because everything I create in he trial must be lost. I also f
-
[JSP] Opening a web page?
Hello, Basically, I am using JSP to accomplish something on my website. I am familiar with Java (not that I am good at it or anything), and the syntax is obviously quite similar to JSP. What I would like to do is open a web page (say http://www.googl
-
Error 7: File not found for executable
Hello all, I have a problem with a VI server call. I am currently using LV 2011 on Windows 7. Here's the problem - I have a subpanel in a larger VI into which I drop the interface of a (potentially) stand-alone VI. The path to the called VI is goo