Hash values coming in extraction,how to rectify
Dear All,
During Extraction we are getting hash values,for which our extraction is getting failed,we manually edit the psa and doing the load from PSA to Cube,is there a way where we can restrict this hash values
so our extraction din failed,in rskc all values are maintaide including hash.
pls suggest.
Thanks,
Sapta
Hi,
Characters whose hexadecimal value is 00-1F these will be displayed as # and we think this is maintained in RSKC and even then the load is failed... the invalid characters are displayed as # and there by u need to stop them . Even With ALL_CAPITAL u will not be able and it wont be good to use ALL_CAPITAL in rskc. this is part of code which i used to eliminate such cases.........and this is absolutely working fine... it will be invalid characters....
DATA: L_S_ERRORLOG TYPE RSSM_S_ERRORLOG_INT,
G_ALLOWED_CHAR(300) TYPE C.
IF G_ALLOWED_CHAR IS INITIAL.
CALL FUNCTION 'RSKC_ALLOWED_CHAR_GET'
IMPORTING
E_ALLOWED_CHAR = G_ALLOWED_CHAR.
ENDIF.
concatenate G_ALLOWED_CHAR 'abcdefghijklmnopqrstuvwxyz£Ö@[]' into G_ALLOWED_CHAR.
in the above concatentate statement add all the characters which u want to allow apart from the allowed characters .....**
do.
if not RESULT co g_allowed_char.
shift RESULT+sy-fdpos left.
else.
exit.
endif.
enddo.
Here result is the field for which say invalid characters are coming ...above is the code to remoce invalid characters from the field Result.....
Regards
vamsi
Similar Messages
-
how to get the Benefits Rate multiplier value in HCM extract ? used Extract rule type Fastfomula, but returns null.
Formula:
DEFAULT FOR BEN_ABR_NAME IS 'NA'
DEFAULT FOR l_rate_multiplier IS 'X'
L_BG_ID = GET_CONTEXT(BUSINESS_GROUP_ID, 1)
L_EFF_DATE = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
L_ABRT_ID = GET_CONTEXT(ACTY_BASE_RT_ID, 9999)
CHANGE_CONTEXTS(EFFECTIVE_DATE = L_EFF_DATE, BUSINESS_GROUP_ID = L_BG_ID, ACTY_BASE_RT_ID = L_ABRT_ID )
l_rate_multiplier = BEN_ABR_NAME
RETURN l_rate_multiplierI used DBI - BEN_ABR_NAME.
What is back end query ? can we use query to extract the value in Extracts ? -
How to Decode.. using hash value
Hi Guys,
I have created a function Enc_Password on my form. following is the code:
FUNCTION Enc_Password ( P_String IN VARCHAR2 ) RETURN VARCHAR2
IS
BEGIN
RETURN DBMS_UTILITY.Get_Hash_Value( P_String, 9, 1001000200 );
END Enc_Password;
Now i call this function on button press event of my form by this code
Dec_Pass := Enc_Password (:login_blk.password);
THE PASSWORD IS ENCRYPTED.........
HOW CAN I DECRYPT IT AGAIN, IS THERE ANY REVERSE.....
S THERE ANY REVERSE USING HAS VALUE
plis help,
Imran BaigHi,
Thanks for the reply.
Actually i have already used this in one of my form. Just now i have found that in some cases i have to decrypt/decode the password as well.
It means that is no way yo decode data and hash value is just used for encode??
pliz help,
Imran Baig -
Delete hash value row in Bex report output
Hi All,
Can anybody suggest how can i remove hash value(not assigned) row in Bex report out put.
my report looks like this:
rows
project position
(hierarchy)
WBS element
(hierarchy)
Order
For each Project position and WBS element hierarchies, i did supress the " not assigned" tick in hiearchy attributes in RSH1.
but in colums i have budget as one of the column.
this budget comes from project position nodes to last node of WBS element but not in order, for order it will be blank but after this order a new row coming up with bold" Not assigned" with that budget amount against this not assigned.
My problem is how can i get rid of this not assinged entire row. I search so many links in SDN, they talk about just to replace the not assigned to some other value as blank or something like that.
Please suggest me how can i get rid of this.
i did tried to restrict Order with "#" but then the whole budget column getting blank.
Regards
Robyn.HI Arun,
As i mentioned earlier, i have gone through these links, they just talk about replacing # value or Not Assigned to some other value or blank.
my issue is i need to get rid of that entire row.
when i drop proj def hierarchy ,then wbs hierachy starts, sometimes at the end of wbs hierarchy i get row with #
and sometimes after wbs hierarchy ,then order row then # row is coming.
even after i tick supress unassigned nodes in both Projdef and wbs hierarchies.
i am not supposed to simply replace #( not assigned) symbol or text with some other symbol or text ( thats what they discussing in these links).
i created that macro they said in those links but its just deleting # symbol to blank not the whole row.
hope i made my issue clear.
i have seen so many other links as well
[Re: Bex macros]
Regards
Robyn. -
0fi_ar_4 netduedate(netdt) value coming in RSA3 but not coming in BI PSA
Hi all,
i am using 0fi_ar_4,
netduedate(netdt) value coming in RSA3 but not coming in BI PSA, in BI PSA there is 10-12 do cument there where netduedate is null while for same document we are getting the netduedate running from transaction RSA3, how?
Thanks.Hi,
I found the problem, i have write a user exit in data sourc e in ecc, i am getting value in rsa3 but not getting in BI PSA becaue ise there is 20000 KB limits for per info package load request i.e. idoc size, as its fixed, i did change little in my user exit at ECC.
thaks -
Calculating HASH values with WCCP
Ok, I'm just not getting the HASH calculations. Can somebody please explain how the HASH values translate into subnets?
Thanks,
PatrickPatrick,
I'm not a 100% sure of the algorithm used to determine what subnet is assigned to which WCCP bucket. However, I do know it involves an XOR of various L3 and L4 header fields in the packet.
To view the how the calculation has been performed you can run the hidden IOS command
show ip wccp hash <dst-ip> <src-ip> <dst-port> <src-port>
Router# show ip wccp 61 hash 0.0.0.0 10.88.81.10 0 0
WCCP hash information for:
Primary Hash: Src IP: 10.88.81.10
Bucket: 9
WCCP Client: 10.88.81.12
Router#
Hope this helps,
Mike Korenbaum
Cisco WAAS PDI Help Desk
http://www.cisco.com/go/pdihelpdesk -
Hi sdn,
I'm getting hash value in report for one infoobject,that is for 0customer .Could you pls let me know how to remove that particular problem.
thanks
RHi
So u have records as follows:
ckf Customer Text Value
Base # Not Assigned -59,286.60
value
So as for the above...if there is no data as the JR.. said,it will display in that row as # or Not Assigned.
1.So if u want dont want to display it & then u can EXCLUDE that # values in ur FILTER as other guy says.
2.Do as per JR..
3. U cannot totally remove tht frm ur report...becoz..where there is dependent char. which has data
Hope this helps. -
Hi Everyone,
I need some information about hash value getting generated for every new SQl
I think that PGA will generate hash value every time
thanks in advance
Shareef912856 wrote:
Hi Everyone,
I need some information about hash value getting generated for every new SQl
I think that PGA will generate hash value every time
PGA would "generate" the value? Isn't it that the hash-values are generated by hash functions ? If you want information about how the parsing works, please read,
http://docs.oracle.com/cd/E11882_01/server.112/e16638/optimops.htm#i21299
And,
http://docs.oracle.com/cd/E11882_01/server.112/e25789/sqllangu.htm#CNCPT1740
Aman.... -
How to rectify the errors through call transaction metod in bdc
how to rectify the errors through call transaction metod in bdc
Hi ,
View the highlited part of the below code.
REPORT ygfrivat1 NO STANDARD PAGE HEADING
LINE-SIZE 165
MESSAGE-ID yif_groc.
Program YGFRIVAT1
Function Report to Upload the VAT Adjustment File.
Author ARENAPU
Date 11.05.2007
PMTS AM12810157
Transport G6DK937834
Description:
Modification log:
1. Changed by :
Changed on :
PMTS :
Transport :
Tag :
Description :
T A B L E S D E C L A R A T I O N S
TABLES: edidc, "Control record (IDoc)
edids, "Status Record (IDoc)
t001w.
Internal Tables Declaration.
Internal table to hold data from table EDIDS
DATA: BEGIN OF t_edids OCCURS 0,
docnum LIKE edids-docnum,
logdat LIKE edids-logdat,
logtim LIKE edids-logtim,
countr LIKE edids-countr,
credat LIKE edids-credat,
uname LIKE edids-uname,
END OF t_edids,
Internal table to hold data from table EDIDC
BEGIN OF t_edidc OCCURS 0,
docnum LIKE edidc-docnum,
rcvprt LIKE edidc-rcvprt,
rcvprn LIKE edidc-rcvprn,
credat LIKE edidc-credat,
END OF t_edidc,
Internal table to hold data from upload file
BEGIN OF t_tab OCCURS 0,
cust(10), "site/customer number
date(10), "transaction date
currency(04), "currency
extnbr(15), "external reference number
pos-cont(05), "POS controler
pos-id(25), "POS id
cashier(10), "cashier name
qualif(04), "qualifier of the article
matnr(25), "article number
qty(10), "quantity
sale(16), "sale value
pos-tr(04), "POS transfert type
paymeth(04), "payment method
final(35), "final price
tarcur(04), "target currency
assign(35), "assignment day
error,
END OF t_tab,
Internal table for Report display.
BEGIN OF t_tab1 OCCURS 0,
cust(10), "site/customer number
date(10), "transaction date
currency(04), "currency
extnbr(15), "external reference number
pos-cont(05), "POS controler
pos-id(25), "POS id
cashier(10), "cashier name
qualif(04), "qualifier of the article
matnr(25), "article number
qty(16) TYPE p DECIMALS 2, "quantity
sale(16) TYPE p DECIMALS 2, "sale value
pos-tr(04), "POS transfert type
paymeth(04), "payment method
final(16) TYPE p DECIMALS 2, "final price
tarcur(04), "target currency
assign(35), "assignment day
END OF t_tab1,
t_tab_temp LIKE t_tab OCCURS 0 WITH HEADER LINE,
Internal table to Validate Customer no.
BEGIN OF t_check OCCURS 0,
werks LIKE t001w-werks,
vkorg LIKE t001w-vkorg,
value(40),
END OF t_check,
t_check_temp LIKE t_check OCCURS 0 WITH HEADER LINE.
Internal table to hold data from table ZCS_PARAM.
DATA: BEGIN OF t_zcs_param OCCURS 0.
INCLUDE STRUCTURE zcs_param.
DATA: vkorg LIKE t001w-vkorg,
END OF t_zcs_param.
*Internal table to hold Messages.
DATA: BEGIN OF t_message OCCURS 0,
msgnum TYPE msgnum,
msgtyp TYPE msgtyp,
msgtxt TYPE msgtext,
END OF t_message.
*Work area for table t_message
DATA : w_message LIKE LINE OF t_message.
Internal table to hold BDC data
DATA: t_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,
Internal table to collect error messages
messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
*Internal table to hold messages from call transaction
DATA: BEGIN OF t_text OCCURS 0,
desc(150),
msgtxt(100),
END OF t_text.
D A T A D E C L A R A T I O N S
DATA: n TYPE i,
gv_status(11) TYPE c, "Shows status, Production or Test
gv_exit TYPE c, "Exit Flag
gv_qty(16) TYPE p DECIMALS 2, "Variable to sum Quantity
gv_sale(16) TYPE p DECIMALS 2, "Variable to sum Amount
gv_final(16) TYPE p DECIMALS 2. "Variable to sum Final Amount
DATA: w_text(100),
gv_mode TYPE c,
error TYPE c. "Flag to Indicate error.
CONSTANSTS DECLARATION
CONSTANTS : gc_fieldname LIKE dynpread-fieldname VALUE 'P_FNAME',
gc_seq_no LIKE zcs_param-seq_no VALUE '00110',
gc_object LIKE zcs_param-object VALUE 'YGFVAT',
gc_paraname LIKE zcs_param-paraname VALUE 'VKORG',
gc_back TYPE c VALUE 'N',
gc_error TYPE c VALUE 'E',
gc_all TYPE c VALUE 'A'.
S E L E C T I O N S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
PARAMETERS : p_fname LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) text-002 FOR FIELD p_test.
PARAMETERS : p_test AS CHECKBOX.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK a1.
SELECTION-SCREEN BEGIN OF BLOCK a2 WITH FRAME TITLE text-006.
PARAMETERS : rb_back RADIOBUTTON GROUP rb1 DEFAULT 'X',
rb_error RADIOBUTTON GROUP rb1,
rb_all RADIOBUTTON GROUP rb1.
SELECTION-SCREEN END OF BLOCK a2.
AT SELECTION SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
*Subroutine to provide F4 help for file name
PERFORM fr_get_filename.
I N I T I A L I Z A T I O N
INITIALIZATION.
*Subroutine to check authorization.
PERFORM fr_authority_check.
T O P - O F - P A G E
TOP-OF-PAGE.
*Subroutine to diplay header
PERFORM fr_display_header.
S T A R T - O F - S E L E C T I O N
START-OF-SELECTION.
*Subroutine to upload data from presentation server.
PERFORM fr_upload_data.
*Subroutine to validate records from uploaded file.
PERFORM fr_validate_data.
*Subroutine to build report internal table.
PERFORM fr_build_rep.
E N D - O F - S E L E C T I O N
END-OF-SELECTION.
*Subroutine to display report.
PERFORM fr_write_report.
F O R M S U B R O U T I N E S
*& Form fr_get_filename
text
FORM fr_get_filename.
DATA : lv_repid LIKE sy-repid, " Report id
lv_file LIKE ibipparms-path. " File Path
lv_repid = sy-repid.
F4 help for file path.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = lv_repid
dynpro_number = syst-dynnr
field_name = gc_fieldname " p_fname1
IMPORTING
file_name = lv_file.
IF NOT lv_file EQ space.
p_fname = lv_file.
ELSE.
MESSAGE e999 WITH 'Invalid Path'(005).
ENDIF.
ENDFORM. " fr_get_filename
*& Form fr_upload_data
text
FORM fr_upload_data.
DATA: lv_fname TYPE string.
CLEAR lv_fname.
lv_fname = p_fname.
Uploading file from PC or presentation server to internal table.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_fname
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = t_tab
EXCEPTIONS
file_open_error = 1.
IF sy-subrc <> 0.
DESCRIBE TABLE t_message LINES n.
w_message-msgnum = n + 1.
w_message-msgtyp = 'E'.
MOVE text-m01 TO w_message-msgtxt.
APPEND w_message TO t_message.
Subroutine for writing log.
PERFORM fr_write_log.
ENDIF.
ENDFORM. " fr_upload_data
*& Form fr_validate_data
text
FORM fr_validate_data.
DATA : lv_lines1 TYPE i,
lv_lines2 TYPE i.
*Obtain Status depending on Check box selected.
IF p_test IS INITIAL.
gv_status = 'PRODUCTION'.
ELSE.
gv_status = 'TEST RUN'.
ENDIF.
*Batch Mode
CLEAR gv_mode.
IF rb_back EQ 'X'. "No Display
MOVE gc_back TO gv_mode.
ELSEIF rb_error EQ 'X'. "Error Only
MOVE gc_error TO gv_mode.
ELSEIF rb_all EQ 'X'. "All Screens
MOVE gc_all TO gv_mode.
ENDIF.
IF NOT t_tab[] IS INITIAL.
SORT t_tab BY cust.
REFRESH t_tab_temp.
t_tab_temp[] = t_tab[].
SORT t_tab_temp BY cust.
DELETE ADJACENT DUPLICATES FROM t_tab_temp COMPARING cust.
IF NOT t_tab_temp[] IS INITIAL.
SELECT werks vkorg FROM t001w
INTO TABLE t_check
FOR ALL ENTRIES IN t_tab_temp
WHERE werks = t_tab_temp-cust+0(4).
IF sy-subrc = 0.
SORT t_check BY werks.
ENDIF.
LOOP AT t_check.
IF t_check-vkorg <> ' '.
MOVE t_check-vkorg TO t_check-value.
MODIFY t_check TRANSPORTING value.
ENDIF.
ENDLOOP.
ENDIF.
FREE t_tab_temp.
ENDIF.
IF NOT t_check[] IS INITIAL.
REFRESH t_check_temp.
t_check_temp[] = t_check[].
SORT t_check_temp BY value.
DELETE ADJACENT DUPLICATES FROM t_check_temp COMPARING value.
IF NOT t_check_temp[] IS INITIAL.
SELECT * FROM zcs_param INTO TABLE t_zcs_param
FOR ALL ENTRIES IN t_check_temp
WHERE seq_no EQ gc_seq_no
AND object EQ gc_object
AND paraname EQ gc_paraname
AND value EQ t_check_temp-value.
IF sy-subrc = 0.
SORT t_zcs_param BY value.
ENDIF.
ENDIF.
FREE t_check_temp.
ENDIF.
IF NOT t_tab[] IS INITIAL.
LOOP AT t_tab.
READ TABLE t_check WITH KEY werks = t_tab-cust BINARY SEARCH.
IF sy-subrc <> 0.
MOVE 'X' TO t_tab-error.
MODIFY t_tab TRANSPORTING error.
DESCRIBE TABLE t_message LINES n.
w_message-msgnum = n + 1.
w_message-msgtyp = 'E'.
CONCATENATE t_tab-cust text-030
INTO w_message-msgtxt SEPARATED BY space.
APPEND w_message TO t_message.
Subroutine for writing log.
PERFORM fr_write_log.
EXIT.
ELSE.
READ TABLE t_zcs_param WITH KEY value = t_check-vkorg
BINARY SEARCH.
IF sy-subrc <> 0.
MOVE 'X' TO t_tab-error.
MODIFY t_tab TRANSPORTING error.
DESCRIBE TABLE t_message LINES n.
w_message-msgnum = n + 1.
w_message-msgtyp = 'E'.
CONCATENATE text-003 t_tab-cust text-004 t_check-vkorg
INTO w_message-msgtxt SEPARATED BY space.
APPEND w_message TO t_message.
Subroutine for writing log.
PERFORM fr_write_log.
EXIT.
ELSE.
PERFORM fr_format_tab.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
DESCRIBE TABLE t_tab LINES lv_lines1.
IF lv_lines1 <> 0.
DELETE t_tab WHERE error EQ 'X'.
ENDIF.
DESCRIBE TABLE t_tab LINES lv_lines2.
IF lv_lines2 <> 0.
IF lv_lines2 <> lv_lines1.
EXIT.
ELSE.
IF p_test IS INITIAL.
LOOP AT t_tab.
*Subroutine to build BDC table
PERFORM fr_fill_bdctab.
*Subroutine to Post Data into SAP.
PERFORM fr_data_posting.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " fr_validate_data
*& Form fr_write_log
text
FORM fr_write_log.
CLEAR error.
error = 'X'.
WRITE:/1 'Msg No'(027), 10 'Type'(028), 20 'Text'(029).
ULINE:/1(120).
FORMAT RESET.
LOOP AT t_message.
IF t_message-msgtyp = 'E'.
FORMAT COLOR 6 INTENSIFIED .
ELSEIF t_message-msgtyp = 'W'.
FORMAT COLOR 3 INTENSIFIED .
ELSEIF t_message-msgtyp = 'I'.
FORMAT COLOR 5 INTENSIFIED .
ENDIF.
WRITE:/1 t_message-msgnum,
10 t_message-msgtyp,
20 t_message-msgtxt.
FORMAT RESET.
ENDLOOP.
ULINE:/1(120).
ENDFORM. " fr_write_log
*& Form fr_write_report
text
FORM fr_write_report.
CLEAR gv_exit.
LOOP AT t_message.
IF t_message-msgtyp = 'E'.
gv_exit = 'X'.
EXIT.
ENDIF.
ENDLOOP.
IF NOT gv_exit IS INITIAL.
EXIT.
ELSE.
PERFORM fr_display_report.
IF NOT t_text[] IS INITIAL.
Subroutine for Display Call Transaction messages.
PERFORM fr_write_msg.
ENDIF.
ENDIF.
ENDFORM. " fr_write_report
*& Form fr_display_report
text
FORM fr_display_report.
IF NOT t_tab1[] IS INITIAL.
CLEAR: gv_qty, gv_sale, gv_final.
LOOP AT t_tab1.
WRITE:/1(10) t_tab1-cust,
13(10) t_tab1-date,
25(05) t_tab1-currency,
32(14) t_tab1-extnbr,
48(09) t_tab1-pos-cont,
60(18) t_tab1-matnr,
80(16) t_tab1-qty RIGHT-JUSTIFIED ,
98(16) t_tab1-sale RIGHT-JUSTIFIED ,
116(07) t_tab1-paymeth,
125(16) t_tab1-final RIGHT-JUSTIFIED,
143(06) t_tab1-tarcur,
152(12) t_tab1-assign.
gv_qty = t_tab1-qty + gv_qty.
gv_sale = t_tab1-sale + gv_sale.
gv_final = t_tab1-final + gv_final.
ENDLOOP.
FORMAT COLOR 3.
ULINE: /(164).
WRITE:/ 'TOTALS',
80(16) gv_qty RIGHT-JUSTIFIED,
98(16) gv_sale RIGHT-JUSTIFIED,
125(16) gv_final RIGHT-JUSTIFIED,
182 ''.
ULINE: /(164).
FORMAT RESET.
ENDIF.
ENDFORM. " fr_display_report
*& Form FR_DISPLAY_HEADER
text
FORM fr_display_header.
IF error IS INITIAL.
FORMAT COLOR 1.
WRITE:/ 'Date upload :'(007), 25 sy-datum, 38 ''.
WRITE:/ 'Production or Test Run:'(008), 25 gv_status, 38 ''.
WRITE:/ 'Upload User Logon :'(009), 25 sy-uname, 38 ''.
ULINE: /(164).
WRITE:/1(04) 'Site'(010),
13(10) 'Date'(011),
25(05) 'Curr.'(012),
32(14) 'Receipt'(013),
48(09) 'Cashier'(014),
60(18) 'Article'(015),
92 'Qty'(016),
102 'Item Amount'(017),
116(7) 'M.o.P.'(018),
128 'Tender Amount'(019),
143(6) 'T.Curr'(020),
152(12) 'Assignment'(021).
ULINE:/(164).
FORMAT RESET.
ENDIF.
ENDFORM. " FR_DISPLAY_HEADER
*& Form fr_newdynpro
text
FORM fr_newdynpro USING program LIKE bdcdata-program
dynpro LIKE bdcdata-dynpro.
t_bdcdata-program = program .
t_bdcdata-dynpro = dynpro.
t_bdcdata-dynbegin = 'X'.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " fr_newdynpro
*& Form fr_loadfield
text
FORM fr_loadfield USING field LIKE bdcdata-fnam
value.
t_bdcdata-fnam = field.
t_bdcdata-fval = value.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " fr_loadfield
*& Form fr_fill_bdctab
text
FORM fr_fill_bdctab.
REFRESH t_bdcdata.
PERFORM fr_newdynpro USING 'SAPMWPUK' '100'.
PERFORM fr_loadfield USING 'G_FILIALE' t_tab-cust.
PERFORM fr_loadfield USING 'G_DATUM' t_tab-date.
PERFORM fr_loadfield USING 'BDC_OKCODE' 'BON'.
PERFORM fr_newdynpro USING 'SAPMWPUK' '500'.
PERFORM fr_loadfield USING 'WPSCB01-POSKREIS' t_tab-pos-cont.
PERFORM fr_loadfield USING 'WPSCB01-KASSID' t_tab-pos-id.
PERFORM fr_loadfield USING 'WPSCB01-BELEGWAERS' t_tab-currency.
PERFORM fr_loadfield USING 'WPSCB01-CSHNAME' t_tab-cashier.
PERFORM fr_loadfield USING 'WPSCB01-BONNUMMER' t_tab-extnbr.
PERFORM fr_loadfield USING 'E1WPB02-QUALARTNR(01)' t_tab-qualif.
PERFORM fr_loadfield USING 'E1WPB02-ARTNR(01)' t_tab-matnr.
PERFORM fr_loadfield USING 'E1WPB02-MENGE(01)' t_tab-qty.
PERFORM fr_loadfield USING 'WPSCB03-KONDVALUE(01)' t_tab-sale.
PERFORM fr_loadfield USING 'E1WPB02-VORGANGART(01)' t_tab-pos-tr.
PERFORM fr_loadfield USING 'BDC_OKCODE' 'ZAHL'.
PERFORM fr_newdynpro USING 'SAPMWPUK' '530'.
PERFORM fr_loadfield USING 'WPSCB06-ZAHLART' t_tab-paymeth.
PERFORM fr_loadfield USING 'WPSCB06-SUMME' t_tab-final.
PERFORM fr_loadfield USING 'WPSCB06-WAEHRUNG' t_tab-tarcur.
PERFORM fr_loadfield USING 'WPSCB06-ZUONR' t_tab-assign.
PERFORM fr_loadfield USING 'BDC_OKCODE' 'SAVE'.
PERFORM fr_newdynpro USING 'SAPMWPUK' '530'.
PERFORM fr_loadfield USING 'WPSCB06-ZAHLART' t_tab-paymeth.
PERFORM fr_loadfield USING 'WPSCB06-SUMME' t_tab-final.
PERFORM fr_loadfield USING 'WPSCB06-WAEHRUNG' t_tab-tarcur.
PERFORM fr_loadfield USING 'WPSCB06-ZUONR' t_tab-assign.
PERFORM fr_loadfield USING 'BDC_OKCODE' 'BACK'.
PERFORM fr_newdynpro USING 'SAPLSPO1' '0200'.
PERFORM fr_loadfield USING 'BDC_OKCODE' 'YES'.
PERFORM fr_newdynpro USING 'SAPMWPUK' '100'.
PERFORM fr_loadfield USING 'G_FILIALE' t_tab-cust.
PERFORM fr_loadfield USING 'G_DATUM' t_tab-date.
PERFORM fr_loadfield USING 'BDC_OKCODE' 'BACK'.
ENDFORM. " fr_fill_bdctab
*& Form fr_data_posting
text
FORM fr_data_posting.
IF NOT t_bdcdata[] IS INITIAL.
REFRESH messtab.
CALL TRANSACTION 'WPUK' USING t_bdcdata
MODE gv_mode
UPDATE 'S'
MESSAGES INTO messtab.
IF sy-subrc = 0 .
CLEAR w_text.
LOOP AT messtab.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = messtab-msgid
lang = sy-langu
no = messtab-msgnr
v1 = messtab-msgv1
v2 = messtab-msgv2
v3 = messtab-msgv3
v4 = messtab-msgv4
IMPORTING
msg = w_text
EXCEPTIONS
not_found = 1
OTHERS = 2.
MOVE w_text TO t_text-msgtxt.
CONCATENATE 'Site:'(031) t_tab-cust
'Article:'(024) t_tab-matnr
'Posted Sucessfully'(032)
INTO t_text-desc SEPARATED BY space.
APPEND t_text.
CLEAR t_text.
ENDLOOP.
ELSE.
CLEAR w_text.
LOOP AT messtab.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = messtab-msgid
lang = sy-langu
no = messtab-msgnr
v1 = messtab-msgv1
v2 = messtab-msgv2
v3 = messtab-msgv3
v4 = messtab-msgv4
IMPORTING
msg = w_text
EXCEPTIONS
not_found = 1
OTHERS = 2.
MOVE w_text TO t_text-msgtxt.
IF messtab-msgnr EQ '213'.
CONCATENATE 'Site:'(031) t_tab-cust
'Article:'(024) t_tab-matnr
'Posted Sucessfully'(032)
INTO t_text-desc SEPARATED BY space.
APPEND t_text.
CLEAR t_text.
EXIT. ELSE.
CONCATENATE 'Site:'(031) t_tab-cust
'Article:'(024) t_tab-matnr
'Not Posted'(033)
INTO t_text-desc SEPARATED BY space.
APPEND t_text.
CLEAR t_text.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM. " fr_data_posting
*& Form fr_authority_check
text
FORM fr_authority_check.
AUTHORITY-CHECK OBJECT 'Y_VATADJ'
ID 'VKORG' FIELD t001w-vkorg
ID 'TCD' FIELD 'YGFVAT'.
IF sy-subrc NE 0.
MESSAGE e999 WITH text-m02.
ENDIF.
ENDFORM. " fr_authority_check
*& Form fr_write_msg
text
FORM fr_write_msg.
SKIP.
ULINE:/(164).
WRITE:/
'Messages encountered while Calling Transaction WPUK'(025),
90 'Message Text'(026).
ULINE:/1(164).
LOOP AT t_text.
WRITE:/1 t_text-desc,
90 t_text-msgtxt,
164 ''.
ENDLOOP.
ULINE:/1(164).
ENDFORM. " fr_write_msg
*& Form FR_BUILD_REP
text
FORM fr_build_rep.
IF error IS INITIAL.
IF NOT t_tab[] IS INITIAL.
LOOP AT t_tab.
MOVE:
t_tab-cust TO t_tab1-cust, "site/customer number
t_tab-date TO t_tab1-date, "transaction date
t_tab-currency TO t_tab1-currency, "currency
t_tab-extnbr TO t_tab1-extnbr, "external reference number
t_tab-pos-cont TO t_tab1-pos-cont, "POS controler
t_tab-pos-id TO t_tab1-pos-id, "POS id
t_tab-cashier TO t_tab1-cashier, "cashier name
t_tab-qualif TO t_tab1-qualif, "qualifier of the article
t_tab-matnr TO t_tab1-matnr, "article number
t_tab-pos-tr TO t_tab1-pos-tr, "POS transfert type
t_tab-paymeth TO t_tab1-paymeth, "payment method
t_tab-tarcur TO t_tab1-tarcur, "target currency
t_tab-assign TO t_tab1-assign.
REPLACE ',' WITH '.' INTO t_tab-qty.
CONDENSE t_tab-qty NO-GAPS.
MOVE t_tab-qty TO t_tab1-qty.
REPLACE ',' WITH '.' INTO t_tab-sale.
CONDENSE t_tab-sale NO-GAPS.
MOVE t_tab-sale TO t_tab1-sale.
REPLACE ',' WITH '.' INTO t_tab-final.
CONDENSE t_tab-final NO-GAPS.
MOVE t_tab-final TO t_tab1-final.
APPEND t_tab1.
CLEAR t_tab1.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM. " FR_BUILD_REP
*& Form fr_format_tab
text
FORM fr_format_tab.
DATA : lv_qty TYPE string.
IF NOT t_tab-qty IS INITIAL.
IF t_tab-qty+0(1) EQ '-'.
CLEAR lv_qty.
MOVE t_tab-qty TO lv_qty.
CLEAR t_tab-qty.
SHIFT lv_qty LEFT CIRCULAR.
CONDENSE lv_qty NO-GAPS.
MOVE lv_qty TO t_tab-qty.
MODIFY t_tab TRANSPORTING qty.
ENDIF.
ENDIF.
ENDFORM. " fr_format_tab -
DBMS_CRYPTO MD5 hash value does not match 3rd party MD5 free tool
Hello,
I am using Oracle Version: 11.2.4.
I have a problem where the MD5 value from DBMS_CRYPTO does not match the hash value from 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) and also the MD5 hash value calculated by an ingestion tool where I am transferring files to. The MD5 hash value that the ingestion tool calculates is the same as the 3rd party MD5 free tools I have. This occurs only on some of the XML files that I generate using XSQL(xmlserialize, xmlagg, xmlelement, etc.) and DBMS_XSLPROCESSOR on a Linux OS. The XML files are transferred from the Unix OS to my Windows 7 OS via filezilla.
I found a thread on this forum that also had a similar issue so I copy/paste the java functions. They are listed below(both are the same expect for the character set):
create or replace java source named "MD5_UTF_8" as
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.sql.Clob;
import java.sql.Blob;
public class MD5_UTF_8 {
private static final byte [] hexDigit = {
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
/** Converts a byte array to a hex string
* Returns an empty string if the byte array is null
public static final String toHexString(byte [] bytes) {
if (bytes == null) return new String("");
StringBuffer buf = new StringBuffer(bytes.length * 2);
for (int i = 0; i < bytes.length; i++) {
buf.append((char) hexDigit[((bytes >>> 4) & 0x0F)]);
buf.append((char) hexDigit[(bytes & 0x0F)]);
return buf.toString();
// Convert Hex String to Byte Array
public static final byte[] byteArrayFromHexString(String str) {
byte[] bytes = new byte[str.length() / 2];
for (int i = 0; i < bytes.length; i++)
bytes = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
return bytes;
public static String getMD5HashFromClob(Clob inhalt) throws Exception{
MessageDigest algorithm;
StringBuffer hexString;
String s = null;
String salida = null;
int i;
byte[] digest;
String tepFordigest = inhalt.getSubString(1L, (int)inhalt.length());
try {
algorithm = MessageDigest.getInstance("MD5_UTF_8");
algorithm.reset();
algorithm.update(tepFordigest.getBytes("UTF-8"));
digest = algorithm.digest();
s = toHexString(digest);
} catch (java.security.NoSuchAlgorithmException nsae) {
s = "No es posible cifrar MD5";
return s;
sho err
alter java source "MD5_UTF_8" compile
sho err
CREATE OR REPLACE FUNCTION get_md5_UTF_8_CLOB(inhalt CLOB) RETURN VARCHAR2 DETERMINISTIC
AS LANGUAGE JAVA
name 'MD5_UTF_8.getMD5HashFromClob(java.sql.Clob) return java.lang.String';
create or replace java source named "MD5" as
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.sql.Clob;
import java.sql.Blob;
public class MD5 {
private static final byte [] hexDigit = {
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
/** Converts a byte array to a hex string
* Returns an empty string if the byte array is null
public static final String toHexString(byte [] bytes) {
if (bytes == null) return new String("");
StringBuffer buf = new StringBuffer(bytes.length * 2);
for (int i = 0; i < bytes.length; i++) {
buf.append((char) hexDigit[((bytes >>> 4) & 0x0F)]);
buf.append((char) hexDigit[(bytes & 0x0F)]);
return buf.toString();
// Convert Hex String to Byte Array
public static final byte[] byteArrayFromHexString(String str) {
byte[] bytes = new byte[str.length() / 2];
for (int i = 0; i < bytes.length; i++)
bytes = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
return bytes;
public static String getMD5HashFromClob(Clob inhalt) throws Exception{
MessageDigest algorithm;
StringBuffer hexString;
String s = null;
String salida = null;
int i;
byte[] digest;
String tepFordigest = inhalt.getSubString(1L, (int)inhalt.length());
try {
algorithm = MessageDigest.getInstance("MD5");
algorithm.reset();
algorithm.update(tepFordigest.getBytes());
digest = algorithm.digest();
s = toHexString(digest);
} catch (java.security.NoSuchAlgorithmException nsae) {
s = "No es posible cifrar MD5";
return s;
sho err
alter java source "MD5" compile
sho err
CREATE OR REPLACE FUNCTION get_md5_CLOB(inhalt CLOB) RETURN VARCHAR2 DETERMINISTIC
AS LANGUAGE JAVA
name 'MD5.getMD5HashFromClob(java.sql.Clob) return java.lang.String';
I created the above java functions and added the calls to them in my package to see what hash values they would produce but I am getting "ORA-29532: Java call terminated by uncaught Java exception: java.nio.BufferOverflowException " the XML is about 60mb.
package code sniippets:
declare
l_hash raw(2000);
l_checksum_md5 varchar2(2000);
l_checksum_md5_utf_8 varchar2(2000);
Begin
t_checksum := lower(RAWTOHEX(dbms_crypto.hash(src=>l_clob,typ=>dbms_crypto.hash_md5)));
l_hash := get_md5_CLOB (l_clob);
l_checksum_md5 := lower(rawtohex(l_hash));
l_hash := get_md5_UTF_8_CLOB (l_clob);
l_checksum_md5_UTF_8 := lower(rawtohex(l_hash));Please help,
Thank You in advance
Don
Edited by: 972551 on Nov 21, 2012 12:18 PM
Edited by: sabre150 on Nov 21, 2012 11:06 PM
Moderator action : added [code ] tags to format properly. In future please add them yourself.>
I have a problem where the MD5 value from DBMS_CRYPTO does not match the hash value from 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) and also the MD5 hash value calculated by an ingestion tool where I am transferring files to. The MD5 hash value that the ingestion tool calculates is the same as the 3rd party MD5 free tools I have.
I found a thread on this forum that also had a similar issue so I copy/paste the java functions.
>
And in that thread (Re: MD5 HASH computed from DBMS_CRYPTO does not match .NET MD5 I provided the reason why DBMS_CRYPTO may not match hashes produced by other methodologies.
I have no idea why you copied and posted all of that Java code the other poster and I provided since code has NOTHING to do with the problem you say you are having. Thte other poster's question was how to write Java code that would produce the same result as DBMS_CRYPTO.
You said your problem was understanding why DBMS_CRYPTO 'does not match the hash value from 3rd party MD5 free tool ...'. and I answered that in the other forum.
>
The Crypto package always converts everything to AL32UTF8 before hashing so if the .NET character set is different the hash will likely be different.
See DBMS_CRYPTO in the PL/SQL Packages and Types doc
http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_crypto.htm
If you look at the spec header for the DBMS_CRYPTO package it shows this note:
-- Prior to encryption, hashing or keyed hashing, CLOB datatype is
-- converted to AL32UTF8. This allows cryptographic data to be
-- transferred and understood between databases with different
-- character sets, across character set changes and between
-- separate processes (for example, Java programs).
-- If your 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) do not use the AL32UTF8 character set then the hashes will likely be different. You can't modify DBMS_CRYPTO so if the hashes need to match you need to use 3rd party tools that either use the correct character set or can be configured to use the correct character set.
The problem in the other thread was how to WRITE Java code that uses the correct character set and I showed that OP how to do that.
So unless you are writing your own Java code all of that code you copied and pasted is useless for your use case. -
Forcing / reuse plan hash value ...
friends....
db: 11gr2
os: linux
for quite sometime I am trying to tune this query but somehow can't get runtime less than 35 seconds...
I tried to get recent plan details from sql id but saw database was using "Cardinality feedback used for this statement" and was showing me many different plan with different hash value ....
some of the plans are really good and finishes in 5 seconds and some took 55 seconds.
my question is
1. how can I force oracle to use/run query as per historic hash value with minimal runtime? is it possible?
2. can we see what hint or changes done in query by oracle for that particular hash value?
I can see explain plan but fail to use id/operation details in actual query?
my current explain plan slows at below operation id:
0. SELECT STATEMENT============12 rows======00:00:35
1. SORT ORDER BY===============12 rows======00:00:35
2. ---NESTED LOOPS OUTER==========12 rows=====00:00:35
3. -----NESTED LOOPS==============12 rows=====00:00:35
4. --------NESTED LOOPS ============ 12K rows ====00:00:01
5. ----------SORT UNIQUE=============4 rows=====00:00:01
...but hash value with good plan using "Hash Join Right Semi" for step-3 and "access table by index" for step 4...using "Cardinality feedback used for this statement" and was showing me many different plan with different hash value ....
some of the plans are really good and finishes in 5 seconds and some took 55 seconds.A not unusual experience with cardinality feedback.
If you don't like the feature - and my experiences have been very mixed - turn it off.
Either via system wide parameter optimizeruse_feedback or on a statement basis using the parameter via opt_param hint or alter session.
1. how can I force oracle to use/run query as per historic hash value with minimal runtime? is it possible?a. SQL Plan Baselines
b. SQL Profile via COE_XFR_SQL_PROFILE.sql, see Oracle Support doc id 215187.1.
c. Hint the plan you want using the outline hints from plans above - see DBMS_XPLAN.DISPLAY_AWR and the format parameter '+OUTLINE'
2. can we see what hint or changes done in query by oracle for that particular hash value?See DBMS_XPLAN.DISPLAY_CURSOR / DISPLAY_AWR and the format parameter '+OUTLINE'
my current explain plan slows at below operation id:
but hash value with good plan using "Hash Join Right Semi" for step-3 and "access table by index" for step 4... You've got the template tuning threads which detail the information required to comment on this. -
Plan hash value for two queries!
Hi,
DB : Oracle 11g (11.2.0.3.0)
OS: RHEL 5
I have two question:
1. Can two queries have same plan hash value? I mean I have below two queries:
SELECT /+ NO_MERGE */ MIN(payor.next_review_date)*
* FROM payor*
* WHERE payor.review_complete = 0*
* AND payor.closing_date IS NULL*
* AND payor.patient_key = 10;*
and
SELECT MIN(payor.next_review_date)
* FROM payor*
* WHERE payor.review_complete = 0*
* AND payor.closing_date IS NULL*
* AND payor.patient_key = 10;*
When I tried to review the execution plan for both queries, the plan hash value remain same. Does it mean that execution plan for both queries are same? If yes, then how Oracle understands or changes the execution plan based on hint. If no then what plan hash value represents?
2. If the execution plan with hint and without hint is same except for a given query except no.of rows and bytes. Does it mean that query with less rows and bytes scanned is better?
Thanks in advance
-OnkarHi,
there are two different things. One is EXPLAIN PLAN, which is how the optimizer thinks the query will be executed. It contains some estimates of cost, cardinalities etc. There is also EXECUTION PLAN. It also contains all this information regarding the optimizer estimates, but on the top of that, it also contains information about actual I/O incurred, actual cardinalities, actual timings etc.
So if a hint is changing optimizer estimates, but the plan stays the same, then impact on query's performance is zero.
If the actual numbers are changing, this is probably also irrelevant to the hint (e.g. you can have less physical reads because more blocks are found in the buffer cache the second time you're running the query, or you less work because you don't have to parse the statement etc.).
Actually, most of optimizer hints don't affect optimizer estimates; rather, they try to get the optimizer to use a certain access method or a certain join order etc. regardless of the cost. So you must be talking about such hints as cardinality, dynamic_sampling etc. If that's not the case -- please clarify, because this means that something wrong is going on here (e.g. an INDEX hint may work or it may fail to work, but if it fails, optimizer estimates shouldn't change).
Best regards,
Nikolay -
TS2753 An unknown error occurred (-50). How to rectify?
I receive this message whenever I try to sync my iPhone or iPad. Any idea how to rectify this?
Hey rusutsu!
Here is an article for you that will help you address this restore issue:
Resolve iOS update and restore errors in iTunes
http://support.apple.com/kb/ts1275
Thanks for coming to the Apple Support Communities!
Regards,
Braden -
Clearing hash value in GSS for a answer group
Hi,
I have a GSS rule pointing to an answer group with 2 answers. The rule uses hashed as the predictor to load balance requests between the 2 answers configured. The query for GSS comes from 2 clients. I have an issue where GSS is returning the same answer to queries from both the sources. Although both the answers are available, it seems to prefer only one answer. If I change the load balancing algorithm from hashed to Round robin, it starts returning the IP address of both the answers in round robin. The moment I change it back to Hashed, it returns only one IP address to both the sources. I suspect that the hash table is corrupted and may need to be cleared. Is there any way to do this or fix this issue? Any help on this would help.
Regards
RalphHi Ralph,
When the GSS uses the hashed balance method, elements of the client's DNS proxy IP address
and the requesting client's domain are extracted to create a unique value, referred to as
a hash value. The unique hash value is attached to and used to identify a VIP that is
chosen to serve the DNS query.
The use of hash values makes it possible to "stick" traffic from a particular requesting
client to a specific VIP, ensuring that future requests from that client are routed to the
same VIP. This type of continuity can be used to facilitate features, such as online
shopping baskets, in which client-specific data is expected to persist even when client
connectivity to a site is terminated or interrupted.
The GSS supports the following two hashed balance methods. You can apply one or both
hashed balance methods to the specified answer group.
• By Source Address—The GSS selects the answer based on a hash value created from the
source address of the request.
• By Domain Name—The GSS selects the answer based on a hash value created from the
requested domain name.
http://www.cisco.com/en/US/docs/app_ntwk_services/data_center_app_services/gss4400series/v1.2/configuration/guide/Intro.html#wp1102666
For even load distribution you can use leastconns or round-robin
Regards,
Siva -
Hash value and duplicate value
Hi,
1. I get hash value in my report for the fields which has zero value. So how can show zero value instead of hash value.
2. Then i do have duplicate values for few fields and for this duplicate value report is showing no value. And i want to display value of the fields even if there is dupliacte values.
How is this two options possible.
Regards,
RohiniHi Bhanu & Anil,
This BEx has taken away my peace from last few days. But iam enjoying with it.
Anyways.. here is the example
Shopping Cart no|Creation date|end date|start time|endtime
1000574 | 06/12/2005 | 06/14/2005 | 09:19:02 | 15:39:03
| 06/15/2005 | 06/21/2005 | 17:34:06 | 18:00:00
| | | 18:01:00 | 18:15:00
1000678 | # | # | # | #
Here u can see third record of SC 1000574 has same start date and end date thus that fileds remain blank.
And SC 1000678 is an example when fileds value is blank and it gives hash vaue
Regards,
Rohini
Maybe you are looking for
-
I just installed itunes on new computer and songs disappeared from Ipod
I just reinstalled itunes on a computer that had a bug and was cleaned up and cleared out. When I reinstalled itunes and it sync'd all my songs disappeared from my ipod. how do I get them back
-
How to use partioning for big table
Hi, Oracle 10gR2/Redhat4 RAC database ASM I have a big table TRACES that will also grow very fast, actually I have 15 000 000 rows. TRACES (ID NUMBER, COUNTRY_NUM NUMBER, Timestampe NUMBER, MESSAGE VARCHAR2(300), type_of_action VARCHAR(20), CREATED_T
-
I know this is probably really simple to do but I'm stuck. I want to have CSS rollover buttons in which both the a and a:hover are dispayed on rollover. The idea is to have large black text as links and on rollover, smaller beige text appear on top o
-
I can't log out of Creative Cloud
My friend was using my computer and put his log in information into my Creative Cloud Now if I go to Preferences > Account, I see his log in but the option for "Sign Out From Creative Cloud" is grey, I'm unable to click on it I've tried uninstalling
-
Hmmm.... I was using Encore sucessfully for months, no issues. I closed a properly closed a project. I went back to edit it and found that Encore won't finish loading. I tried to open Encore from the programs menu (ie not trying to open an exisiti