OTL - Hours Type Hard Coding
Hello,
While creating a Time card in OTL, we want to restrict a particular operating unit of ours to have only "Regular" Hours Type. In general, the Alias for Hours Type has both the "Regular" and "Overtime" . This being through the OAF am not sure, how this could be achieved.
TIA..
Hi,
You can go through OA Framework Developer's Guide,Chapter 9 - Extending OA Framework Applications to get a start.
Thanks.
Similar Messages
-
OTL Hours Type not exploding..
Hi,
Can anyone suggest why one of my hours type not exploding. I have two different elements setup in two different earning policies.
Element One is defined in the first earning policy's explosion rule which when tested exploded fine. Element two is also defined in Policy One earning group but it isnt exploding within it!!
Element Two is then defined in the second earning policy explosion rule but it isnt exploding at all. This earning policy and elements are pretty much setup identical to each other so I'm confused as to why the first one is working and not the second one.
Any suggestion?
Regards
TLIt drills down to how you've setup the earnings policies.
There are some examples in the Note below -
Oracle Time and Labor (OTL) OTLR California Overtime Policy Setup and Examples [ID 1451080.1]
Try to compare yours with the above to see if all is fine.
Cheers,
Vignesh -
Output type for the managed codes cut letter is hard coded
Hello,
Very Good afternoon!
I have a requirement to create new Output Types for a Smart Form.
The already existing Output types are hard coded as shown Below :
CONSTANTS : c_kschl_order LIKE nast-kschl
VALUE 'ZUS0',
c_kschl_order1 LIKE nast-kschl
VALUE 'ZUS1',
Now they do not want to use ZUS1. Insted they wnat to use New Output Types.
u2022 Remove ZUS1 as we no longer use this one.
u2022 Add ZAU0
u2022 Add ZNZ0
u2022 Add ZJP0
u2022 Add ZCN0
u2022 Add ZKR0
How to add these Output types without Hardcoding as shown ABove.
Any Suggestions will be appreciated.....
For reference..I will paste the code of the Program here.
Here is the code :
PROGRAM DECLARATION
PROGRAM ID Z_RVADOR01_SALES_CUT_LETTER
TABLES: vbak, "Sales Document: Header Data
vbap, "Sales Document: Item Data
vbpa, "Sales Document: Partner
vbep, "Sales Document: Schedule Line Data
kna1, "General Data in Customer Master
MARA, "Material Master
KOMK, "Communicationarea for conditions
KOMP, "Communicationarea for conditions
KOMVD, "Communicationarea for conditions
VBCO3, "Communicationarea for view
VBDKA, "Headerview
VBDPA, "Itemview
VBDPAU, "Subitemnumbers
CONF_OUT, "Configuration data
SADR, "Addresses
TVAG, "Reason for rejection
VEDKA, "Servicecontract head data
VEDPA, "Servicecontract position data
VEDKN, "Servicecontract head notice data
VEDPN, "Servicecontract pos. notice data
RISERLS, "Serialnumbers
KOMSER, "Serialnumbers for print
TVBUR, "Sales office
TVKO, "Sales organisation
ADRS, "Communicationarea for Address
FPLTDR, "billing schedules
WTAD_ADDIS_IN_SO_PRINT, "additional
WTAD_BUYING_PRINT_EXTRA_TEXT, "texts belonging to additional
adrc,
adr6,
t247.
INCLUDE RVADTABL.
INCLUDE RVDIREKT.
INCLUDE VEDADATA.
data for access to central address maintenance
INCLUDE SDZAVDAT.
TYPE-POOLS: ADDI.
DATA PRICE_PRINT_MODE(1) TYPE C. "Print-mode
DATA: RETCODE LIKE SY-SUBRC. "Returncode
DATA: REPEAT(1) TYPE C.
DATA: XSCREEN(1) TYPE C. "Output on printer or screen
DATA: BEGIN OF STEU, "Controldata for output
VDKEX(1) TYPE C,
VDPEX(1) TYPE C,
KBKEX(1) TYPE C,
KBPEX(1) TYPE C,
END OF STEU.
DATA: BEGIN OF TVBDPA OCCURS 0. "Internal table for items
INCLUDE STRUCTURE VBDPA.
DATA: END OF TVBDPA.
DATA: BEGIN OF TKOMV OCCURS 50.
INCLUDE STRUCTURE KOMV.
DATA: END OF TKOMV.
DATA: BEGIN OF TKOMVD OCCURS 50.
INCLUDE STRUCTURE KOMVD.
DATA: END OF TKOMVD.
DATA: BEGIN OF TVBDPAU OCCURS 5.
INCLUDE STRUCTURE VBDPAU.
DATA: END OF TVBDPAU.
DATA: BEGIN OF TKOMCON OCCURS 50.
INCLUDE STRUCTURE CONF_OUT.
DATA: END OF TKOMCON.
DATA: BEGIN OF TKOMSERVH OCCURS 1.
INCLUDE STRUCTURE VEDKA.
DATA: END OF TKOMSERVH.
DATA: BEGIN OF TKOMSERVP OCCURS 5.
INCLUDE STRUCTURE VEDPA.
DATA: END OF TKOMSERVP.
DATA: BEGIN OF TKOMSERVHN OCCURS 5.
INCLUDE STRUCTURE VEDKN.
DATA: END OF TKOMSERVHN.
DATA: BEGIN OF TKOMSERVPN OCCURS 5.
INCLUDE STRUCTURE VEDPN.
DATA: END OF TKOMSERVPN.
DATA: BEGIN OF TKOMSER OCCURS 5.
INCLUDE STRUCTURE RISERLS.
DATA: END OF TKOMSER.
DATA: BEGIN OF TKOMSER_PRINT OCCURS 5.
INCLUDE STRUCTURE KOMSER.
DATA: END OF TKOMSER_PRINT.
DATA: BEGIN OF TFPLTDR OCCURS 5.
INCLUDE STRUCTURE FPLTDR.
DATA: END OF TFPLTDR.
DATA: TADDI_PRINT TYPE ADDI_SO_PRINT_ITAB WITH HEADER LINE.
TYPES:BEGIN OF ty_orders ,
xblnr LIKE mkpf-xblnr, "delivery number
erfmg LIKE mseg-erfmg, "goods issue quantity
custname LIKE kna1-name1, "customer name
bstnk LIKE vbak-bstnk, "purchase order number
ean11 LIKE vbap-ean11, "upc
kdmat LIKE vbap-kdmat, "customer material code
arktx LIKE vbap-arktx, "description
csrno LIKE kna1-kunnr, "customer service rep number
spras LIKE kna1-spras, "customer language key
csrname LIKE kna1-name1, "customer service rep name
csremail LIKE adr6-smtp_addr, "csr email
csrphone LIKE kna1-telf1, "csr telephone
csrext LIKE adrc-tel_extens, "csr extension
csrfax LIKE kna1-telfx, "csr fax
total LIKE lips-lfimg, "cut quantity
ldate(18) TYPE c,
END OF ty_orders.
CONSTANTS: c_kschl_order LIKE nast-kschl
VALUE 'ZUS0',
c_kschl_order1 LIKE nast-kschl
VALUE 'ZUS1', c_parvw_shipto LIKE vbpa-parvw
VALUE 'WE',
c_parvw_csr LIKE vbpa-parvw
VALUE 'ZS',
c_eng(1) TYPE c VALUE 'E',
c_sep(1) TYPE c VALUE '/',
c_sale(25) type c VALUE 'Sales Order'.
DATA: WA_VBAK TYPE VBAK,
tbl_ord TYPE ty_orders OCCURS 0 WITH HEADER LINE,
w_csrname(30) TYPE c,
w_csrno(30) TYPE c,
w_email LIKE adr6-smtp_addr,
f_shipto_found TYPE c,
w_custname(30) TYPE c,
w_month(2),
w_ldate(18),
w_total LIKE lips-lfimg,
w_lines TYPE i VALUE 0,
f_mail(1) TYPE c,
cnt_1 TYPE i VALUE 0,
cnt_2 TYPE i VALUE 0,
tbl_otf LIKE itcoo OCCURS 0 WITH HEADER LINE,
w_type(25) TYPE c,
st_doc_data LIKE sodocchgi1,
tbl_objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_line LIKE tline OCCURS 0 WITH HEADER LINE,
tbl_attach LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_objhead LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_proc_para LIKE soparai1 OCCURS 10 WITH HEADER LINE,
tbl_maillist LIKE somlreci1 OCCURS 10 WITH HEADER LINE,
tbl_pack_list LIKE sopcklsti1 OCCURS 10 WITH HEADER LINE,
tbl_cpo LIKE itcpo OCCURS 0 WITH HEADER LINE,"SAPscript output
" interface
tbl_cpp LIKE itcpp OCCURS 0 WITH HEADER LINE,"SAPscript output
" parameters
tbl_smtp TYPE szadr_adsmtp_line OCCURS 0 WITH HEADER LINE,
tbl_cdhdpos LIKE cdshw OCCURS 0 WITH HEADER LINE,
tbl_cdpos LIKE cdshw OCCURS 0 WITH HEADER LINE,
wrk_lines LIKE sy-tabix,
hltlines TYPE i,
off1 TYPE p,
fle1(2) TYPE p,
fle2(2) TYPE p,
htabix LIKE sy-tabix,
hfeld(500) TYPE c.
FORM ENTRY USING RETURN_CODE US_SCREEN.
if sy-tcode = 'VA01'.
IF nast-kschl = c_kschl_order.
SELECT SINGLE * FROM VBAK INTO WA_VBAK WHERE vbeln = nast-objky.
IF SY-SUBRC = 0.
CLEAR RETCODE.
XSCREEN = US_SCREEN.
PERFORM PROCESSING USING us_screen.
IF RETCODE NE 0.
RETURN_CODE = 1.
ELSE.
RETURN_CODE = 0.
ENDIF.
ELSE.
retcode = sy-subrc.
syst-msgid = 'ZVERROR'.
syst-msgno = '000'.
syst-msgty = 'E'.
syst-msgv1 = NAST-KSCHL.
syst-msgv1 = 'Sales Order cut letter
for this order already issued'.
syst-msgv2 = ' '.
PERFORM protocol_update.
ENDIF.
ELSE.
CLEAR retcode.
xscreen = us_screen.
PERFORM processing USING us_screen.
IF retcode NE 0.
return_code = 1.
ELSE.
return_code = 0.
ENDIF.
ENDIF.
endif.
ENDFORM.
FORM PROCESSING *
FORM PROCESSING USING proc_screen.
CASE nast-kschl.
WHEN c_kschl_order.
PERFORM get_orders.
CHECK retcode = 0.
PERFORM openform USING proc_screen vbak-landtx.
CHECK retcode = 0.
PERFORM layout.
CHECK retcode = 0.
CHECK proc_screen NE 'X'.
w_type = c_sale.
PERFORM send_email USING proc_screen.
WHEN c_kschl_order1.
PERFORM get_orders.
CHECK retcode = 0.
CHECK proc_screen NE 'X'.
w_type = c_sale.
PERFORM send_email USING proc_screen.
WHEN OTHERS.
retcode = 1.
syst-msgid = 'E0'.
syst-msgno = '430'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDCASE.
IF retcode EQ 0.
syst-msgid = '69'.
syst-msgno = '254'.
syst-msgty = 'S'.
syst-msgv1 = nast-kschl.
PERFORM protocol_update.
ELSE.
syst-msgid = 'CKCC'.
syst-msgno = '036'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
ENDFORM.
FORM PROTOCOL_UPDATE *
The messages are collected for the processing protocol. *
FORM PROTOCOL_UPDATE.
IF xscreen EQ space.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = SYST-MSGID
MSG_NR = SYST-MSGNO
MSG_TY = SYST-MSGTY
MSG_V1 = SYST-MSGV1
MSG_V2 = SYST-MSGV2
MSG_V3 = SYST-MSGV3
MSG_V4 = SYST-MSGV4
EXCEPTIONS
OTHERS = 1.
ELSE.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
*& Form get_orders
text
--> p1 text
<-- p2 text
FORM get_orders.
DATA : f_csr_found TYPE c.
SELECT SINGLE vbeln vkorg vdatu bstnk kunnr
FROM vbak
INTO (vbak-vbeln,vbak-vkorg,vbak-vdatu,vbak-bstnk,vbak-kunnr)
WHERE vbeln EQ nast-objky.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'VN'.
syst-msgno = '203'.
syst-msgty = 'E'.
syst-msgv1 = 'VBAK'.
syst-msgv2 = sy-subrc.
PERFORM protocol_update.
ENDIF.
SELECT vbeln posnr matnr pmatn arktx abgru kdmat werks
FROM vbap
INTO (vbap-vbeln,vbap-posnr,vbap-matnr,vbap-pmatn,
vbap-arktx,vbap-abgru,vbap-kdmat,vbap-werks)
WHERE vbeln = vbak-vbeln
AND abgru NE space "select items havng Rejection Reason
and PSTYV NE 'ZHDR'.
to check whether the reason for rejection was picked from the
managed codes tables
data: war_abgru type abgru,
w_exist type c.
clear : war_abgru, w_exist.
select single abgru from ZMAT_REJ002
into war_abgru
where vkorg = vbak-vkorg
and kunnr <> vbak-kunnr
and MATNR = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ003
into war_abgru
where vkorg = vbak-vkorg
and kunnr <> vbak-kunnr
and MATNR = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ001
into war_abgru
where vkorg = vbak-vkorg
and werks <> vbap-werks
and matnr = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ004
into war_abgru
where vkorg = vbak-vkorg
and matnr = vbap-matnr
and datef >= vbak-vdatu
and datet <= vbak-vdatu.
if sy-subrc <> 0.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
if w_exist = 'X'.
end for check from managed codes table
*to find the quantity fields
SELECT SINGLE wmeng bmeng
FROM vbep
INTO (vbep-wmeng,vbep-bmeng)
WHERE vbeln EQ vbap-vbeln
AND posnr EQ vbap-posnr.
*to get info about the customer
SELECT SINGLE kunnr
FROM vbpa
INTO vbpa-kunnr
WHERE vbeln EQ vbak-vbeln
AND parvw EQ c_parvw_shipto.
IF sy-subrc EQ 0.
f_shipto_found = 'X'.
SELECT SINGLE name1 spras
FROM kna1
INTO (kna1-name1,kna1-spras)
WHERE kunnr EQ vbpa-kunnr.
IF sy-subrc EQ 0.
w_custname = kna1-name1.
CLEAR kna1-name1.
ENDIF.
ENDIF.
SELECT SINGLE kunnr
FROM vbpa
INTO vbpa-kunnr
WHERE vbeln EQ vbak-vbeln
AND parvw EQ c_parvw_csr.
IF SY-SUBRC EQ 0.
f_csr_found = 'X'.
SELECT SINGLE kunnr name1 name2 adrnr
FROM kna1
INTO (kna1-kunnr,kna1-name1,kna1-name2,
kna1-adrnr)
WHERE kunnr EQ vbpa-kunnr.
IF sy-subrc EQ 0.
w_csrno = kna1-kunnr.
w_csrname = kna1-name1.
CLEAR kna1-name1.
SELECT SINGLE tel_number tel_extens fax_number
FROM adrc
INTO (adrc-tel_number,adrc-tel_extens,
adrc-fax_number)
WHERE addrnumber EQ kna1-adrnr.
CLEAR: adr6, w_email.
SELECT SINGLE * FROM adr6 WHERE addrnumber = kna1-adrnr.
IF sy-subrc = 0.
w_email = adr6-smtp_addr.
ENDIF.
ENDIF.
ENDIF.
*to get the date format in french
IF kna1-spras NE c_eng.
w_month = sy-datum+4(2).
SELECT SINGLE ltx
FROM t247
INTO t247-ltx
WHERE spras EQ kna1-spras
AND mnr EQ w_month.
CONCATENATE sy-datum+6(2)
t247-ltx
sy-datum+0(4)
INTO w_ldate
SEPARATED BY space.
ELSE.
CONCATENATE sy-datum+4(2)
sy-datum+6(2)
sy-datum+0(4)
INTO w_ldate
SEPARATED BY c_sep.
ENDIF.
w_total = vbep-wmeng - vbep-bmeng.
IF w_total GT 0.
PERFORM fill_orders.
ELSE.
IF vbap-abgru NE space.
w_total = vbep-wmeng.
PERFORM fill_orders.
ENDIF.
ENDIF.
CLEAR vbap.
endif. " check for w_exist for Managed Codes entry
ENDSELECT.
IF tbl_ord[] IS INITIAL.
retcode = 1.
syst-msgid = 'FZ'.
syst-msgno = '027'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
IF f_csr_found IS INITIAL.
syst-msgid = '8B'.
syst-msgno = '127'.
syst-msgty = 'W'.
syst-msgv1 = c_parvw_csr.
PERFORM protocol_update.
ENDIF.
IF f_shipto_found IS INITIAL.
syst-msgid = '8B'.
syst-msgno = '127'.
syst-msgty = 'W'.
syst-msgv1 = c_parvw_shipto.
PERFORM protocol_update.
ENDIF.
ENDFORM. " get_orders
*& Form layout
text
--> p1 text
<-- p2 text
FORM layout.
SORT tbl_ord BY bstnk kdmat.
LOOP AT tbl_ord.
AT FIRST.
PERFORM writeform_text.
ENDAT.
PERFORM writeform.
AT LAST.
PERFORM writeform_footer.
ENDAT.
ENDLOOP.
CLEAR : cnt_1,cnt_2.
PERFORM closeform.
ENDFORM. " layout
*& Form openform
text
FORM openform USING us_screen us_country.
DESCRIBE TABLE tbl_ord LINES w_lines.
IF w_lines EQ 0.
retcode = '1'.
syst-msgid = 'FE'.
syst-msgno = '078'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
CHECK retcode EQ 0.
INCLUDE zrvadopfo.
ENDFORM. " openform
*& Form send_email
text
-->P_PROC_SCREEN text
FORM send_email USING PROC_SCREEN.
f_mail = 'X'.
PERFORM openform USING proc_screen vbak-landtx.
LOOP AT tbl_ord.
AT FIRST.
PERFORM writeform_text.
ENDAT.
PERFORM writeform.
AT LAST.
PERFORM writeform_footer.
ENDAT.
ENDLOOP.
CLEAR cnt_2.
PERFORM closeform.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF' "'ASCII'
IMPORTING
bin_filesize = st_doc_data-doc_size
TABLES
otf = tbl_otf
lines = tbl_line
EXCEPTIONS "DEVK912166
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'OA'. "DEVK912166
syst-msgno = '186'. "DEVK912166
syst-msgty = 'E'. "DEVK912166
PERFORM protocol_update.
ENDIF.
REFRESH tbl_objtxt.
CLEAR tbl_objtxt.
CLEAR tbl_proc_para.
REFRESH tbl_proc_para.
CLEAR tbl_maillist.
REFRESH tbl_maillist.
CLEAR tbl_pack_list.
REFRESH tbl_pack_list.
st_doc_data-obj_name = 'Sales Order Cut Letter'.
st_doc_data-obj_langu = 'E'. "DEVK905849
st_doc_data-sensitivty = 'F'. "DEVK905849
st_doc_data-obj_prio = 1. "DEVK905849
CONCATENATE w_type 'Cut Letter' INTO "#EC NOTEXT
st_doc_data-obj_descr SEPARATED BY space.
DATA w_line(3) TYPE c.
PERFORM format_pdf. "DEVK905849
concatenate VBAK-VBELN '.PDF' into tbl_objhead.
tbl_objhead = 'Sales Order Cut Letter.PDF'.
APPEND tbl_objhead.
"DEVK905849
CLEAR wrk_lines.
DESCRIBE TABLE tbl_attach LINES wrk_lines.
fields needed for email
tbl_maillist-com_type = 'INT'.
tbl_maillist-receiver = w_email.
tbl_maillist-rec_type = 'U'.
APPEND tbl_maillist.
send email
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
STARTING NEW TASK 'MAIL'
EXPORTING
document_data = st_doc_data
document_type = 'PDF'
COMMIT_WORK = 'X' " added after ECC6.0 upgrade
TABLES
object_header = tbl_objhead
object_content = tbl_objtxt
receivers = tbl_maillist
EXCEPTIONS "DEVK912166
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'ZA_G'. "DEVK912166
syst-msgno = '922'. "DEVK912166
syst-msgty = 'E'. "DEVK912166
syst-msgv1 = sy-subrc. "DEVK912166
syst-msgv2 = tbl_smtp-adsmtp-smtp_addr. "DEVK912166
PERFORM protocol_update.
syst-msgid = 'VW'.
syst-msgno = '001'.
syst-msgty = 'E'.
syst-msgv1 = 'Print successful:email Recepient Invalid'."#EC NOTEXT
PERFORM protocol_update.
ENDIF.
ENDFORM. " send_email
*& Form fill_orders
text
--> p1 text
<-- p2 text
FORM fill_orders.
tbl_ord-bstnk = vbak-bstnk.
tbl_ord-kdmat = vbap-kdmat.
tbl_ord-xblnr = vbak-vbeln.
tbl_ord-ean11 = vbap-pmatn.
tbl_ord-arktx = vbap-arktx.
tbl_ord-csrno = w_csrno .
tbl_ord-csremail = w_email.
tbl_ord-spras = kna1-spras .
tbl_ord-csrphone = adrc-tel_number.
tbl_ord-csrfax = adrc-fax_number.
tbl_ord-csrext = adrc-tel_extens.
tbl_ord-total = w_total.
tbl_ord-custname = w_custname.
tbl_ord-csrname = w_csrname .
tbl_ord-ldate = w_ldate.
APPEND tbl_ord.
CLEAR tbl_ord.
CLEAR w_total.
CLEAR w_ldate.
ENDFORM. " fill_orders
*& Form writeform_text
text
--> p1 text
<-- p2 text
FORM writeform_text.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'WTEXT'
window = 'WINDOW2'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WTEXT'.
syst-msgv2 = 'WINDOW2'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform_text
*& Form writeform
text
--> p1 text
<-- p2 text
FORM writeform.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'EMAIN'
window = 'MAIN'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WTEXT'.
syst-msgv2 = 'WINDOW2'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform
*& Form writeform_footer
text
--> p1 text
<-- p2 text
FORM writeform_footer.
IF nast-spras = 'N'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'FOOTER'
window = 'MAIN'
EXCEPTIONS
element = 1
window = 2.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'WFOOTER'
window = 'WINDOW12'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WFOOTER'.
syst-msgv2 = 'WINDOW12'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform_footer
*& Form closeform
text
--> p1 text
<-- p2 text
FORM closeform.
CALL FUNCTION 'CLOSE_FORM'
TABLES
otfdata = tbl_otf
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
OTHERS = 3.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'PS'.
syst-msgno = '005'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " closeform
*& Form format_pdf
text
--> p1 text
<-- p2 text
FORM format_pdf.
FIELD-SYMBOLS <fs>.
DESCRIBE TABLE tbl_line LINES hltlines.
DESCRIBE FIELD tbl_line LENGTH fle1 IN BYTE MODE . Defect#1579-
DESCRIBE FIELD tbl_objtxt LENGTH fle2 IN BYTE MODE . Defect#1579-
Start of Defect#1579+
DESCRIBE FIELD tbl_line LENGTH fle1 IN CHARACTER MODE.
DESCRIBE FIELD tbl_objtxt LENGTH fle2 IN CHARACTER MODE.
End of Defect#1579+
CLEAR tbl_objtxt.
REFRESH tbl_objtxt.
LOOP AT tbl_line.
htabix = sy-tabix.
MOVE tbl_line TO hfeld+off1.
IF htabix = hltlines.
fle1 = strlen( tbl_line ).
ENDIF.
off1 = off1 + fle1.
IF off1 GE fle2.
CLEAR tbl_objtxt.
tbl_objtxt = hfeld(fle2).
APPEND tbl_objtxt.
SHIFT hfeld BY fle2 PLACES.
off1 = off1 - fle2.
ENDIF.
IF htabix = hltlines.
IF off1 GT 0.
CLEAR tbl_objtxt.
tbl_objtxt = hfeld(off1).
APPEND tbl_objtxt.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " format_pdf
ANy Suggestion or help will be appreciated!
Regards,
Kittu
Edited by: Kittu on Jun 30, 2008 12:32 PMHello Julie Waller,
Very Good evening!
Thank you very much for your response!
Sometimes...I miss the basic things and start concentarcting on typical ways to fix the issue. ....which will only make my issue critical.
Hello Sathya,
Thank you for your response!
POints are rewarded..
Have a great day ahead!
Regards,
Kittu -
User Logic for Conversion Type Instead of Hard coding in query.
Hello , Good response from SDN but thats all standard which I know. Please help me to resolve the problem as stated below. SDN friends are always best help.
Requirement: User will select the Target Currency; Will select the Exchange Rate like Monthly Avg 002M. Now there has to be a variable in Conversion which tells the logic to pick Conversion Type ZVHGR if Exchange Rate = 002M, but if Exchange Rate = 001, then Conversion Type ZVHMR.
<u><b>
Approach to solve abo</b></u>ve
1. I have created a Currency Translation Type " FiscperConversion" "ZVHGR" now this has Exchange Rate Type from Variable "ZVARN" (Which is a variable single value manual input on 0RTYPE Infoobject for exchange rate.)
2. Now Currency Tab: Target Currency is selected from Variable placed in the Report. ZRPVAR.
3. Now the Variable Time Reference is used. Standard Infoobject 0FISCPER
which is beginning of period.
Now all the above is done. Let go to the query and For Value of kEYFIGURE "Audit Balance" in Conversion Tab Conversion Type is specified is "FiscperConversion" ZVHGR"same as above and thats it. But the problem is here user want a variable that user can select the Conversion Type Instead of Hard coding.
<b>Please suggest how to create this variable for Conversion Type and specify in query designer since In Conversion Tab this is not allowed to have variable.</b>
Please help me very soon
Thanks
Soniya Kapoor
nullHello soniya
CTK ( currency translation key) includes
1. Exchange rate type - variable
2. Time base - Variable
3. Source abd TGT currency - variable
if all the things are given in variable why and what extra you need by selecting currency translation key from user input. I think you should ask business user again abt their requirement.
I can think of inputing CTK if say you have choosen time base as static ( Fix value)...say in one key u r using fiscal period as base and in other u r using calday as base...
Thanks
Tripple k -
OTL Timecard -- Hours Type LOV issue
I am facing some problem with the timecard. Scenerio is there is one employee who is eligible for all premium type elements.
Now the employee data is updated.Now employee is eligible for restricted premium types.
Lets say there is a timecard from 26th july,2010 to 2nd aug,2010. Employee data is updated on 28th jul,2010.
Now in timecard for that employee i am able to see duplicate values in Hours type field.
eg. Lets say employee till 27th jul,2010 is able to view premium entries like
1. Overtime Weekend
2. Overtime Weekday
3. Day Shift allowance etc.
and from 28th jul,2010 as the employee data is changed he will only see the Day Shift allowance in timecard.
But employee while entering is able to see Day shift allowance twice along with Overtime Weekend and Overtime Weekday for time card 26th july,2010 to 2nd aug,2010.
What would be the solution for that?I would say its the correct functionality. Even though, all the premium elements are getting displayed, they won't pass the validation on either on time entry or during transfer process. What's the otl patching level?
If you are still concerned, raise an SR.
--Shiv -
OTL timekeeper entry - retrieve Hours type
Hi guys,
In the Timekeeper(OTL) entry form (where you enter time for multiple workers) there is a 'Hours Type' field .
I need to retrieve the 'hours type' field value(As displayed in timekeeper entry screen) for a particular person(say person_id=2222) and for a particular period(june 9,2008-june 15,2008)..
can anyone tell me the query or any pointers will be highly appreciated
ThanksThe Hours Type field needs to be configured as an Alternate Name Definition. This will associate a list of values for hours types to the corresponding elements.
Then you have to associate the hours type alternate name definition as a timekeeper layout item in the Preferences window. -
I have multiple AppleTV's at different locations. Is it possible to determine which specific AppleTV purchased a movie, by tracking some type of physical device ID (similar to a hard coded MAC address or serial number)?
Mullaly75 wrote:
I assume u guys don't understand what open source software is
Yes, I think most of us do understand what open source software is. It sounds as if you don't. Here's some information:
Open-source software (OSS) is computer software that is available in source code form: the source code and certain other rights normally reserved forcopyright holders are provided under an open-source license that permits users to study, change, improve and at times also to distribute the software.
Open source software is very often developed in a public, collaborative manner. Open-source software is the most prominent example of open-sourcedevelopment and often compared to (technically defined) user-generated content or (legally defined) open content movements.
from http://en.wikipedia.org/wiki/Open_source_software
Yes, Tom Wu of Stanford wrote a paper on something called Secure Remote Access Protocol. It's a form of Asymetric Key Exchange and has nothing to do with hacking anything. It's actually intended to protect data. -
Hi,
I am trying to fill in a self service time card for a employee. I see two fields on the time card as Hours Type and Cost Center. Problem is the list of values for both these are empty so i cant choose any value for them. If i submit without putting hours type then i get a error on submission. Please can someone help me as i am new to OTL
ThanksHave you tried looking at the seeded formulas as a starting point?
Oracle Time & Labor
Implementation and User Guide
Release 11i
Part No. B15865-01
January 2005
Write Formulas for Time Entry and Approval Rules; Page 6-10
Seeded Formula for Period Maximum: HXC_PERIOD_MAXIMUM
Approval Assignment Status Test: HXC_APPROVAL_ASG_STATUS
Approval Maximum Test: HXC_APPROVAL_MAXIMUM
Assignment Standard Hours vs Time Category: HXC_ASSG_STD_HRS_Comparison
PTO Accrual Balance vs Absence: HXC_PTO_ACCRUAL_Comparison
Period Hours vs Time Category: HXC_TIME_CATEGORY_Comparison
Override Approver WF Person Mechanism: HXC_OVERRIDE_APPROVER_WF_PERSON
You can copy and configure all these formulas, or write your own formulas, according
to the following rules.
Formula Inputs and Outputs
Formulas executed from time entry rules (for validation or approval) must be
of the following form:
INPUTS ARE resource_id (number)
submission_date (text)
<other inputs>
/* Formula Processing */
RETURN <formula result>, <message 1..5>
Regards,
Greg -
BufferedImage type parameter -- way to avoid hard-coding?
My situation:
I'm creating a new BufferedImage, then populating it with the Graphics of
a component. I'm using the Component's height and width as two of
the paramters, but I also need to specify the type. Right now I've got
TYPE_INT_RGB hard-coded, but I seem to recall this is a Bad Idea.
My question:
Is there a (more) correct way to identify/specify the type when creating my
BufferedImage?
final BufferedImage myImage =
new BufferedImage(myComponent.getWidth(), myComponent.getHeight(),
BufferedImage.TYPE_INT_RGB);
final Graphics2D g2d = myImage.createGraphics();
myComponent.paint(g2d);Hm. I totally missed that method. Unfortunately, I really need a BufferedImage. I'm invoking ImageIO.write() later on, and that requires a RenderedImage, of which BufferedImage is the only implementation.
Thanks, though. I'll definitely keep that method in mind for later! -
OTL -Time Sheet Hour Type field detail required.
Hi all,
I'm working on a Report which gets time sheet data for an employee. My time sheet structure has project, Task,Type and Hour type. I have got all the column data as required for my report but i'm not able to find out where the hours type info (as mentioned above) is stored.
I do know that the LOV for the Hour Type column is from hxc_alias_values table. But i want to know the table /column where hour type info is stored when a person enters the time sheet.i.e., For an employee entered time sheet - project-task-type-hour type and number of hrs against it.
We tried a lot of options but were unable to find out. Any help on this will be very helpful.
Thanks,
SureshThe value will be available in HXC_TIME_ATTRIBUTES with Attribute_Category = ELEMENT - <Element Type Id>. This cane be retrieved by joining HXC_TIME_BUILDING_BLOCKS > HXC_TIME_ATTRIBUTE_USAGES > HXC_TIME_ATTRIBUTE_USAGES.
-
How to use model clause without hard coding the values in it?
Query
select acct_no,
gl_code,
CASE
WHEN entry_type_label IN ('Earned Revenue') THEN
'Earned Revenue'
ELSE
'Deferred Revenue Credit'
END AS entry_type_label,
CASE
WHEN entry_type_label IN ('Opening Balance') THEN
'Opening Balance'
WHEN entry_type_label IN ('Deferred Revenue Credit') THEN
'Invoice Amount'
WHEN entry_type_label IN ('Earned Revenue') THEN
'Earned Revenue'
WHEN entry_type_label IN ('Closing Balance') THEN
'Closing Balance'
ELSE
'Deferred Revenue Credit'
END AS label,
entry_type_no,
orig_chg_start_date,
period_no,
-amt as amt
from revrec_test
WHERE acct_no = 1788562
AND entry_type_no IN (2, 4) model dimension by(acct_no,
gl_code,
entry_type_label,
entry_type_no,
orig_chg_start_date,
period_no) measures(amt) rules upsert
all(amt 1788562,
'UNEARNED-10011561',
'Opening Balance',
2,
'02-OCT-17 08.30.00 AM',
190 = 0,
amt 1788562,
'UNEARNED-10011561',
'Closing Balance',
2,
'02-OCT-17 08.30.00 AM',
190 = amt 1788562,
'UNEARNED-10011561',
'Deferred Revenue Credit',
2,
'02-OCT-17 08.30.00 AM',
190 - amt 1788562,
'EARNED-10011561',
'Earned Revenue',
4,
'02-OCT-17 08.30.00 AM',
190,
amt 1788562,
'UNEARNED-10011561',
'Opening Balance',
2,
'02-OCT-17 08.30.00 AM',
191 = amt 1788562,
'UNEARNED-10011561',
'Closing Balance',
2,
'02-OCT-17 08.30.00 AM',
190,
amt 1788562,
'UNEARNED-10011561',
'Deferred Revenue Credit',
2,
'02-OCT-17 08.30.00 AM',
191 = 0,
amt 1788562,
'UNEARNED-10011561',
'Closing Balance',
2,
'02-OCT-17 08.30.00 AM',
191 =
(amt 1788562, 'UNEARNED-10011561', 'Opening Balance', 2,
'02-OCT-17 08.30.00 AM', 191 + amt 1788562, 'UNEARNED-10011561',
'Deferred Revenue Credit', 2, '02-OCT-17 08.30.00 AM', 191) - amt
1788562,
'EARNED-10011561',
'Earned Revenue',
4,
'02-OCT-17 08.30.00 AM',
191,
amt 1788562,
'UNEARNED-10011561',
'Opening Balance',
2,
'02-OCT-17 08.30.00 AM',
192 = amt 1788562,
'UNEARNED-10011561',
'Closing Balance',
2,
'02-OCT-17 08.30.00 AM',
191,
amt 1788562,
'UNEARNED-10011561',
'Deferred Revenue Credit',
2,
'02-OCT-17 08.30.00 AM',
192 = 0,
amt 1788562,
'UNEARNED-10011561',
'Closing Balance',
2,
'02-OCT-17 08.30.00 AM',
192 =
(amt 1788562, 'UNEARNED-10011561', 'Opening Balance', 2,
'02-OCT-17 08.30.00 AM', 192 + amt 1788562, 'UNEARNED-10011561',
'Deferred Revenue Credit', 2, '02-OCT-17 08.30.00 AM', 192) - amt
1788562,
'EARNED-10011561',
'Earned Revenue',
4,
'02-OCT-17 08.30.00 AM',
192,
amt 1788562,
'UNEARNED-10011561',
'Opening Balance',
2,
'02-OCT-17 08.30.00 AM',
193 = amt 1788562,
'UNEARNED-10011561',
'Closing Balance',
2,
'02-OCT-17 08.30.00 AM',
192,
amt 1788562,
'UNEARNED-10011561',
'Deferred Revenue Credit',
2,
'02-OCT-17 08.30.00 AM',
193 = 0,
amt 1788562,
'UNEARNED-10011561',
'Closing Balance',
2,
'02-OCT-17 08.30.00 AM',
193 =
(amt 1788562, 'UNEARNED-10011561', 'Opening Balance', 2,
'02-OCT-17 08.30.00 AM', 193 + amt 1788562, 'UNEARNED-10011561',
'Deferred Revenue Credit', 2, '02-OCT-17 08.30.00 AM', 193) - amt
1788562,
'EARNED-10011561',
'Earned Revenue',
4,
'02-OCT-17 08.30.00 AM',
193)
ORDER BY period_no, entry_type_no;
The above query works fine. But i have hard coded the values. I want to do the same operation for different account number which is going to have different periodic no. How can I achieve it?
Thanks in advance.Create Statement
CREATE TABLE table_one(
ACCT_NO NUMBER(38),
GL_CODE VARCHAR2(300),
ENTRY_TYPE_LABEL CHAR(50),
ENTRY_TYPE_NO NUMBER,
ORIG_CHG_START_DATE TIMESTAMP(0) WITH LOCAL TIME ZONE,
ORIG_CHG_END_DATE TIMESTAMP(0) WITH LOCAL TIME ZONE,
PERIOD_NO NUMBER(38),
AMT NUMBER(38,10)
Insert Statement
INSERT ALL
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'U-11561','Deferred Revenue Debit',3,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',100,13.87)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'E-11561','Earned Revenue',4,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',102,-14.83)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'E-11561','Earned Revenue',4,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',101,-14.35)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'E-11561','Earned Revenue',4,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',100,-13.87)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'U-11561','Deferred Revenue Debit',3,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',103,0.95)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'U-11561','Deferred Revenue Debit',3,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',102,14.83)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'U-11561','Deferred Revenue Debit',3,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',101,14.35)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'E-11561','Earned Revenue',4,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',103,-0.95)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1001,'U-11561','Deferred Revenue Credit',2,'02-OCT-17 08.30.00 AM','01-JAN-18 01.30.00 PM',100,-44)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',106,44.91)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Accounts Receivable',1,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',104,60)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,3.93)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',106,11.75)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',107,6.86)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,-7.82)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',106,-23.47)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',107,-13.69)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',107,-6.86)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,7.82)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',106,23.47)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',107,13.69)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',104,-9.13)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,-44.91)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',106,-44.91)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',107,-35.91)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,-3.93)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,44.91)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',104,9.13)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Earned Revenue',4,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',106,-11.75)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Credit',2,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,38.48)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Credit',2,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,-19.24)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Credit',2,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',104,-60)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Accounts Receivable',1,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,38.48)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Accounts Receivable',1,'20-DEC-13 09.30.00 AM','16-FEB-14 09.30.00 AM',105,19.24)
INTO table_one(acct_no, gl_code, entry_type_label, entry_type_no, orig_chg_start_date, orig_chg_end_date, period_no, amt) VALUES(1002,'Recurring Flat Fees COA Code','Deferred Revenue Debit',3,'17-NOV-13 09.30.00 AM','16-FEB-14 09.30.00 AM',107,35.91)
SELECT * FROM dual;
Expected Result
S.NO
ACCT_NO
GL_CODE
ENTRY_TYPE_LABEL
ENTRY_TYPE_NO
ORIG_CHG_START_DATE
PERIOD_NO
AMT
DESCRIPTION
1
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
100
0
Opening Account
2
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
100
44
Invoice
3
1001
E-11561
Earned Revenue
4
02-OCT-17 08.30.00 AM
100
13.87
Invoice Paid
4
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
100
30.13
Closing Account
5
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
101
30.13
Opening Account
6
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
101
0
Invoice
7
1001
E-11561
Earned Revenue
4
02-OCT-17 08.30.00 AM
101
14.35
Invoice Paid
8
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
101
15.78
Closing Account
9
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
102
15.78
Opening Account
10
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
102
0
Invoice
11
1001
E-11561
Earned Revenue
4
02-OCT-17 08.30.00 AM
102
14.83
Invoice Paid
12
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
102
0.95
Closing Account
13
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
103
0.95
Opening Account
14
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
103
0
Invoice
15
1001
E-11561
Earned Revenue
4
02-OCT-17 08.30.00 AM
103
0.95
Invoice Paid
16
1001
U-11561
Deferred Revenue Credit
2
02-OCT-17 08.30.00 AM
103
0
Closing Account
Description
We must start opening account as zero and end with closing account as zero by doing manipulation with invoice and invoice paid.
Process
Initial Stage
Subsequent stage
Opening Account
0
(=closing Account)
Invoice
max value of account no which has entry type no 2
0
Invoice Paid
taken from the field amount which has entry type no 4
taken from the field amount which has entry type no 4
Closing Account
(=[opening account + invoice] - invoice paid)
(=[opening account + invoice] - invoice paid)
Note
1) Each account may have different periodic no.
2) Some account may have more than 4 distinct period no and less than 4 distinct periodic no.
3) Description column from expected result is not an part of table. It is been added for easier understanding. -
Hi All,
I am trying to load shape file into a sql spatial table. A execution process task is used to run the ogr2ogr.exe program.
This is how the process tab looks like .
Executable : C:\gdal_ogr2ogr\bin\gdal\apps\ogr2ogr.exe
Argument : -f MSSQLSpatial MSSQL:server=SQL-ABC-DEV;database=MYSIMPLE_Dev;Trusted_Connection=True;\\mypath\files\shares\Data\www.mypage.htm\my_sample_file.shp
Success value : 1
For above settings, package runs fine. The spatial table is created in SQL server db. However when hard-coded SQL server name and database name are replaced with global variables , the spatial table is not created in the database. Yet the package runs fine.
It does not throw any errors. (I am using another variable for full file path. It is not causing any errors though)
" -f MSSQLSpatial MSSQL:server="+@[$Project::SQLServerName]+";database="+ @[$Project::DatabaseName] +";Trusted_Connection=True;"+ @[User::Filepath] + "\\my_sample_file.shp"
Both variables are string type. Can anyone tell me what I am doing wrong here please?
I am running this in VS 2012.
Thanks for your help in advance..
shamenThere should be a single space just after True:
before
" -f MSSQLSpatial MSSQL:server="+@[$Project::SQLServerName]+";database="+ @[$Project::DatabaseName] +";Trusted_Connection=True;"+ @[User::Filepath] + "\\my_sample_file.shp"
after keeping the space
" -f MSSQLSpatial MSSQL:server="+@[$Project::SQLServerName]+";database="+ @[$Project::DatabaseName] +";Trusted_Connection=True; "+ @[User::Filepath] + "\\my_sample_file.shp"
Thanks
shamen -
How could I replace hard coded value in my sql query with constant value?
Hi all,
Could anyone help me how to replace hardcoded value in my sql query with constant value that might be pre defined .
PROCEDURE class_by_day_get_bin_data
in_report_parameter_id IN NUMBER,
in_site_id IN NUMBER,
in_start_date_time IN TIMESTAMP,
in_end_date_time IN TIMESTAMP,
in_report_level_min IN NUMBER,
in_report_level_max IN NUMBER
IS
bin_period_length NUMBER(6,0);
BEGIN
SELECT MAX(period_length)
INTO bin_period_length
FROM bin_data
JOIN site_to_data_source_lane_v
ON bin_data.data_source_id = site_to_data_source_lane_v.data_source_id
JOIN bin_types
ON bin_types.bin_type = bin_data.bin_type
WHERE site_to_data_source_lane_v.site_id = in_site_id
AND bin_data.start_date_time >= in_start_date_time - numtodsinterval(1, 'DAY')
AND bin_data.start_date_time < in_end_date_time + numtodsinterval(1, 'DAY')
AND bin_data.bin_type = 2
AND bin_data.period_length <= 60;
--Clear the edr_class_by_day_bin_data temporary table and populate it with the data for the requested
--report.
DELETE FROM edr_class_by_day_bin_data;
SELECT site_to_data_source_lane_v.site_id,
site_to_data_source_lane_v.site_lane_id,
site_to_data_source_lane_v.site_direction_id,
site_to_data_source_lane_v.site_direction_name,
bin_data_set.start_date_time,
bin_data_set.end_date_time,
bin_data_value.bin_id,
bin_data_value.bin_value
FROM bin_data
JOIN bin_data_set
ON bin_data.bin_serial = bin_data_set.bin_serial
JOIN bin_data_value
ON bin_data_set.bin_data_set_serial = bin_data_value.bin_data_set_serial
JOIN site_to_data_source_lane_v
ON bin_data.data_source_id = site_to_data_source_lane_v.data_source_id
AND bin_data_set.lane = site_to_data_source_lane_v.data_source_lane_id
JOIN (
SELECT CAST(report_parameter_value AS NUMBER) lane_id
FROM report_parameters
WHERE report_parameters.report_parameter_id = in_report_parameter_id
AND report_parameters.report_parameter_group = 'LANE'
AND report_parameters.report_parameter_name = 'LANE'
) report_lanes
ON site_to_data_source_lane_v.site_lane_id = report_lanes.lane_id
JOIN (
SELECT CAST(report_parameter_value AS NUMBER) class_id
FROM report_parameters
WHERE report_parameters.report_parameter_id = in_report_parameter_id
AND report_parameters.report_parameter_group = 'CLASS'
AND report_parameters.report_parameter_name = 'CLASS'
) report_classes
ON bin_data_value.bin_id = report_classes.class_id
JOIN edr_rpt_tmp_inclusion_table
ON TRUNC(bin_data_set.start_date_time) = TRUNC(edr_rpt_tmp_inclusion_table.date_time)
WHERE site_to_data_source_lane_v.site_id = in_site_id
AND bin_data.start_date_time >= in_start_date_time - numtodsinterval(1, 'DAY')
AND bin_data.start_date_time < in_end_date_time + numtodsinterval(1, 'DAY')
AND bin_data_set.start_date_time >= in_start_date_time
AND bin_data_set.start_date_time < in_end_date_time
AND bin_data.bin_type = 2
AND bin_data.period_length = bin_period_length;
END class_by_day_get_bin_data;In the above code I'm using the hard coded value 2 for bin type
bin_data.bin_type = 2But I dont want any hard coded number or string in the query.
How could I replace it?
I defined conatant value like below inside my package body where the actual procedure comes.But I'm not sure whether I have to declare it inside package body or inside the procedure.
bin_type CONSTANT NUMBER := 2;But it does't look for this value. So I'm not able to get desired value for the report .
Thanks.
Edited by: user10641405 on May 29, 2009 1:38 PMDeclare the constant inside the procedure.
PROCEDURE class_by_day_get_bin_data(in_report_parameter_id IN NUMBER,
in_site_id IN NUMBER,
in_start_date_time IN TIMESTAMP,
in_end_date_time IN TIMESTAMP,
in_report_level_min IN NUMBER,
in_report_level_max IN NUMBER) IS
bin_period_length NUMBER(6, 0);
v_bin_type CONSTANT NUMBER := 2;
BEGIN
SELECT MAX(period_length)
INTO bin_period_length
FROM bin_data
JOIN site_to_data_source_lane_v ON bin_data.data_source_id =
site_to_data_source_lane_v.data_source_id
JOIN bin_types ON bin_types.bin_type = bin_data.bin_type
WHERE site_to_data_source_lane_v.site_id = in_site_id
AND bin_data.start_date_time >=
in_start_date_time - numtodsinterval(1, 'DAY')
AND bin_data.start_date_time <
in_end_date_time + numtodsinterval(1, 'DAY')
AND bin_data.bin_type = v_bin_type
AND bin_data.period_length <= 60;
--Clear the edr_class_by_day_bin_data temporary table and populate it with the data for the requested
--report.
DELETE FROM edr_class_by_day_bin_data;
INSERT INTO edr_class_by_day_bin_data
(site_id,
site_lane_id,
site_direction_id,
site_direction_name,
bin_start_date_time,
bin_end_date_time,
bin_id,
bin_value)
SELECT site_to_data_source_lane_v.site_id,
site_to_data_source_lane_v.site_lane_id,
site_to_data_source_lane_v.site_direction_id,
site_to_data_source_lane_v.site_direction_name,
bin_data_set.start_date_time,
bin_data_set.end_date_time,
bin_data_value.bin_id,
bin_data_value.bin_value
FROM bin_data
JOIN bin_data_set ON bin_data.bin_serial = bin_data_set.bin_serial
JOIN bin_data_value ON bin_data_set.bin_data_set_serial =
bin_data_value.bin_data_set_serial
JOIN site_to_data_source_lane_v ON bin_data.data_source_id =
site_to_data_source_lane_v.data_source_id
AND bin_data_set.lane =
site_to_data_source_lane_v.data_source_lane_id
JOIN (SELECT CAST(report_parameter_value AS NUMBER) lane_id
FROM report_parameters
WHERE report_parameters.report_parameter_id =
in_report_parameter_id
AND report_parameters.report_parameter_group = 'LANE'
AND report_parameters.report_parameter_name = 'LANE') report_lanes ON site_to_data_source_lane_v.site_lane_id =
report_lanes.lane_id
JOIN (SELECT CAST(report_parameter_value AS NUMBER) class_id
FROM report_parameters
WHERE report_parameters.report_parameter_id =
in_report_parameter_id
AND report_parameters.report_parameter_group = 'CLASS'
AND report_parameters.report_parameter_name = 'CLASS') report_classes ON bin_data_value.bin_id =
report_classes.class_id
JOIN edr_rpt_tmp_inclusion_table ON TRUNC(bin_data_set.start_date_time) =
TRUNC(edr_rpt_tmp_inclusion_table.date_time)
WHERE site_to_data_source_lane_v.site_id = in_site_id
AND bin_data.start_date_time >=
in_start_date_time - numtodsinterval(1, 'DAY')
AND bin_data.start_date_time <
in_end_date_time + numtodsinterval(1, 'DAY')
AND bin_data_set.start_date_time >= in_start_date_time
AND bin_data_set.start_date_time < in_end_date_time
AND bin_data.bin_type = v_bin_type
AND bin_data.period_length = bin_period_length;
END class_by_day_get_bin_data; -
Is is possible to avoid hard-coding the Item in a shared Select List Query?
I created a "Select List" in the Shared Components area as follows:
My goal is to create a shared select list that can be used on any form for a particular Field.
IF :P10_FK_RSTA_CODE is NULL THEN
RETURN
'select col_description, col_code_pk
from CODE_TABLE
where col_active_ind = ''Y''';
ELSE
RETURN
'select col_description, col_code_pk
from CODE_TABLE
where col_code_pk = :P10_FK_RSTA_CODE';
END IF
Which works great, but how can I make the select list work for the same column on a different form?
Because :P10_FK_RSTA_CODE is hard-coded in the function, I can't reuse this Function from a different form.
(I could rename the Field on every form to the same name, but I'm hoping there is a better way.)
Is there a way I can pass in a variable from the Field Item to make this dynamic where I can use it on any form?
Also, I am very new at this, so if there is a better way to do this, I would greatly appreciate any input.
Thanks in advance.
MF>
Welcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and update your profile with a real handle instead of "956902".
When you have a problem you'll get a faster, more effective response by including as much relevant information as possible upfront. This should include:
<li>Full APEX version
<li>Full DB/version/edition/host OS
<li>Web server architecture (EPG, OHS or APEX listener/host OS)
<li>Browser(s) and version(s) used
<li>Theme
<li>Template(s)
<li>Region/item type(s) (making particular distinction as to whether a "report" is a standard report, an interactive report, or in fact an "updateable report" (i.e. a tabular form)
With APEX we're also fortunate to have a great resource in apex.oracle.com where we can reproduce and share problems. Reproducing things there is the best way to troubleshoot most issues, especially those relating to layout and visual formatting. If you expect a detailed answer then it's appropriate for you to take on a significant part of the effort by getting as far as possible with an example of the problem on apex.oracle.com before asking for assistance with specific issues, which we can then see at first hand.
I created a "Select List" in the Shared Components area as follows:
My goal is to create a shared select list that can be used on any form for a particular Field.
IF :P10_FK_RSTA_CODE is NULL THEN
RETURN
'select col_description, col_code_pk
from CODE_TABLE
where col_active_ind = ''Y''';
ELSE
RETURN
'select col_description, col_code_pk
from CODE_TABLE
where col_code_pk = :P10_FK_RSTA_CODE';
END IF
Which works great, but how can I make the select list work for the same column on a different form?
Because :P10_FK_RSTA_CODE is hard-coded in the function, I can't reuse this Function from a different form.
(I could rename the Field on every form to the same name, but I'm hoping there is a better way.)
Is there a way I can pass in a variable from the Field Item to make this dynamic where I can use it on any form?Reference the value of an application item rather than a page item in the LOV query, setting the value using a process or computation on each form page. -
Hard coded links in R12.1.1 SOLARIS 10 64 bit Rapid Install stack
Hi,
Just a heads up for anyone using the Solaris 10 64 bit Rapid Install.
I am doing a 11.5.10.2 > 12.1.1 upgrade on Solaris 10 64-bit.
On my Rapid Install delivered R12.1.1 tech stack there are some hard coded links to Oracle test server files in the 10.1.2 and 10.1.3 lib32 directories. Which is not a good thing - it stops little things like adpatch working!
e.g.
$ cd $ORACLE_HOME/lib32
$ ls -l ldflags
$ lrwxrwxrwx 1 appdugc dba 56 Feb 4 16:21 ldflags -> */d4/R12/ab/apps/R1211XB9/*apps/tech_st/10.1.2/lib/ldflags
This leads to libclntsh.so not being generated and errors like this when running adpatch:
ld.so.1: adpatch: fatal: /*/*/*/apps/tech_st/10.1.2/lib/libclntsh.so.10.1: wrong ELF class: ELFCLASS64
Killed
The fix is to recreate the soft links to point to the correct local mount points/paths
How on earth did that slip through?
I raised an SR on this issue and got no where at all. I only got to the bottom of it when I noticed the /d4/R12 path and googled that. I then found Vikram's article at http://oracleappstechnology.blogspot.com/2009/09/r1211-apache-wont-start.html and realised that it was the cause of my problems too.
Edited by: user6675174 on 16-Feb-2010 00:45Hello All,
I faced the same situation. This is what I did to fix the issue on all the Tiers that has the Applications Tech Stack.
cd "applications install base"
find ./inst ./apps -type l -exec ls -l {} \; | grep d4
Set your applications environment appropriately using APPS<instance>_<host>.env under the APPL_TOP
cd $ORACLE_HOME
/bin/rm ./bin/lbuilder
/bin/rm ./bin/webcachectl
/bin/rm ./lib32/ldflags
/bin/rm ./lib32/libocci.so
/bin/rm ./lib/libnavhoa.a
/bin/rm ./lib/hsdb_inf.so
/bin/rm ./lib/hsdb_odbc.so
/bin/rm ./lib/hsdb_oing.so
/bin/rm ./lib/hsdb_ora.so
/bin/rm ./lib/hsdb_syb.so
/bin/rm ./webcache/lib32
/bin/rm ./webcache/examples/readme.examples.html
/bin/rm ./sysman/webapps/emd/WEB-INF/lib/log4j-core.jar
ln -s $ORACLE_HOME/nls/lbuilder/lbuilder $ORACLE_HOME/bin/lbuilder
ln -s $ORACLE_HOME/webcache/bin/webcachectl $ORACLE_HOME/bin/webcachectl
ln -s $ORACLE_HOME/lib/ldflags $ORACLE_HOME/lib32/ldflags
ln -s $ORACLE_HOME/lib32/libocci.so.10.1 $ORACLE_HOME/lib32/libocci.so
ln -s $ORACLE_HOME/lib32/libnavhoa.a $ORACLE_HOME/lib/libnavhoa.a
ln -s $ORACLE_HOME/lib32/hsdb_inf.so $ORACLE_HOME/lib/hsdb_inf.so
ln -s $ORACLE_HOME/lib32/hsdb_odbc.so $ORACLE_HOME/lib/hsdb_odbc.so
ln -s $ORACLE_HOME/lib32/hsdb_oing.so $ORACLE_HOME/lib/hsdb_oing.so
ln -s $ORACLE_HOME/lib32/hsdb_ora.so $ORACLE_HOME/lib/hsdb_ora.so
ln -s $ORACLE_HOME/lib32/hsdb_syb.so $ORACLE_HOME/lib/hsdb_syb.so
ln -s $ORACLE_HOME/webcache/lib $ORACLE_HOME/webcache/lib32
ln -s $ORACLE_HOME/webcache/docs/readme.examples.html $ORACLE_HOME/webcache/examples/readme.examples.html
ln -s $ORACLE_HOME/sysman/jlib/log4j-core.jar $ORACLE_HOME/sysman/webapps/emd/WEB-INF/lib/log4j-core.jar
cd $ORACLE_HOME/bin
./genclntsh -32
Thanks,
Sushil Motwani
Maybe you are looking for
-
MacBook Pro Mid2014 15" reports a Samsung UE40HU6900 4K TV as 8K (7680x4320). This results in an ugly, washed out image half the size it should be. If you turn off scaling everything is tiny as 8K are displayed on a 4K screen. To get the actual 4K re
-
Interview Question for C# - other problmes
Hi, I've recently found a good interview question and answer to it placed on that forum - writing a method protected int GetSum(int from, int to) At first glance too easy, after reading a good answer I've admitted that's a really good questions.
-
IPad mini camera video playback all static?
HELP,Son has iPad Mini the first one ever out was recording a video (hasn't used function before only the photo part) when playing back what he has recorded sound is fine but picture looks like its slightly freeze framing or how things look when you
-
Configuring 8i lite & Forms 6i
Hi Friends, I am installing Oracle 8i Lite in my Windows98 PC. I installed and tested through SQL. It succeeded. Then I went on to install Developer 6i. After the installation, I was unable to connect either from SQL or Forms. Then I installed the OC
-
Slow redirect by mod_oc4j during network failover - 10g R2
I have successfully installed two OracleAS 10g application server instances (app1, app2) on two machines and added both instances to a cluster (cluster1). Each application server contains a single OC4J instance (home) with a single OC4J process. I ha