Transaction Error logs
Hi OATS gurus,
I have done a test and for some of the clicks it got failed. I'm not sure what is the reason (May be String validation or Server side HTTP errors and so on). Test got completed yesterday and when I open the session for reporting today, I'm not able to view those error log. Is there any way we can view the error logs of the previous test runs?
Thanks,
Thiru
Hi Friend,
There is no standard FM to get the log because it is written in the program of VFX3.
To get the log in your program check value of RFBSK (VBRK) for each invoice. If there is any error for any invoice it will show in the respctive values for RFBSK field (like K = Accounting document not created (no authorization) ).
It will solve the problem.
Regards
Krishnendu
Similar Messages
-
Error log of failed transaction in csv format
Hi All,
I need to generate an error log of all failed transaction in .csv file. It needs to have the failed file name(that comes in xml) and the error. How do i do it?
ThanksYou should have an Error batch file being created that lists those transactions in error. If you have a particular piece of data that you want, you may have to add to the RCBDFDFL.DFD (the recipient batch DFD) file and then map the content to a GVM of the appropriate name. But start by looking at the Error batch - assuming you don't have it set to NULL. That isn't a CSV file, but is a plain ASCII file that you can probably read.
-
No Error Log generated in 'Costing' step in Costing Run (CK40N)
In the Costing Run, when the 'Costing' step is run (after 'Material selection' and 'BOM Explosion' steps), it gives a hard stop when it encounters the 1st error, instead of completing the 'Costing ' step and giving an Error Log with material information and nature of errors. This makes it very cumbersome to resolve all the errors.
In the Costing Variant setting in config, the u2018Save Error Log' indicator has been checked.
Please let me know if I am missing something.
VenkatHi Vimal,
Your proposal does not resolve the issue. I found OSS Note 375901, which addresses this issue - see below
:In Customizing for the costing variant (Transaction OKKN) in the tab "Misc.", you chose "Messages online" for the Error Management option.
Solution
Change the error management for the costing variant to
"Log and Save Messages..."
Many thanks for your inputs.
Venkat -
Call transaction error handling
how to maintain the log i.e sucess/failures like below.
Line No. Success/ Failure Document No Error Details
1 S Doc 740000001
2 S Doc 740000002
3 F Co- code does not exist
4 F GL Account does not exist
I'm getting only one last document no: but i need all the documents to be displayed i.e either success/failures.
below is my code.
TYPES: BEGIN OF ty_filedata,
bukrs TYPE bukrs, "Company code
blart TYPE blart, "Document type
bldat TYPE char10, "Document Date
budat TYPE char10, "Posting date
xblnr TYPE xblnr, "Reference
bktxt TYPE bktxt, "Document Header text
waers TYPE waers, "Currency
newbs TYPE bschl, "Posting Key for the next line item
wrbtr TYPE char10, "Amount
zuonr LIKE bsik-zuonr, "Assignment
sgtxt TYPE sgtxt, "Text
newko TYPE hkont, "Account for the next line item
END OF ty_filedata.
TYPES: BEGIN OF ty_detail_log,
item_no TYPE i, " Item line no.
status(1) TYPE c, " Status - success/failure
doc_no TYPE bkpf-belnr," Document No.
message TYPE string, " Message
END OF ty_detail_log.
*& DATA declaration of internal tables
Internal Table declaration for excel data
DATA: it_itab TYPE STANDARD TABLE OF alsmex_tabline INITIAL SIZE 0,
Internal Table declaration for upload data
it_upload TYPE STANDARD TABLE OF ty_filedata INITIAL SIZE 0,
Internal Table Declaration for BDCDATA
it_bdcdata TYPE STANDARD TABLE OF bdcdata,
Internal Table Declaration for BDCMSGCOLL
it_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll,
Internal Table Declaration for FILENMAE
lf_fname TYPE rlgrap-filename.
t_err_log TYPE STANDARD TABLE OF ty_err
INITIAL SIZE 0, " table for validation error log
t_DETAIL_LOG TYPE STANDARD TABLE OF TY_DETAIL_LOG.
C_MSGNO TYPE BDC_MNR VALUE '312',
*& DATA declaration of work area
Work Area declaration for Excel Data
DATA: w_itab TYPE alsmex_tabline,
Work Area declaration for upload data
w_upload TYPE ty_filedata,
Work Area declaration for upload data
w_upload_n TYPE ty_filedata,
Work Area declaration for upload data
w_bdcdata TYPE bdcdata,
Work Area declaration for upload data
w_bdcmsgcoll TYPE bdcmsgcoll,
w_detail_log TYPE ty_detail_log.
*& SELECTION-SCREEN
SELECTION-SCREEN: BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
PARAMETERS:p_file TYPE rlgrap-filename. " MODIF ID G1.
SELECTION-SCREEN: END OF BLOCK bk1.
*& AT SELECTION SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
dynpro_number = syst-dynnr
CHANGING
file_name = p_file
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*& START-OF-SELECTION
START-OF-SELECTION.
DATA: lw_itab TYPE alsmex_tabline.
lf_fname = p_file.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = lf_fname
i_begin_col = '1'
i_begin_row = '6'
i_end_col = '12'
i_end_row = '999'
TABLES
intern = it_itab[]
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
*MESSAGE S205(ZF_COMMON_MSGS_FIN1) DISPLAY LIKE C_E.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
IF it_itab IS NOT INITIAL.
SORT it_itab BY row col.
DELETE it_itab WHERE row LT 6.
LOOP AT it_itab INTO lw_itab.
w_itab = lw_itab.
AT NEW row.
CLEAR: w_upload.
ENDAT.
CASE w_itab-col.
WHEN '0001'.
w_upload-bukrs = w_itab-value.
WHEN '0002'.
w_upload-blart = w_itab-value.
WHEN '0003'.
w_upload-bldat = w_itab-value.
WHEN '0004'.
w_upload-budat = w_itab-value.
WHEN '0005'.
w_upload-xblnr = w_itab-value.
WHEN '0006'.
w_upload-bktxt = w_itab-value.
WHEN '0007'.
w_upload-waers = w_itab-value.
WHEN '0008'.
w_upload-newbs = w_itab-value.
WHEN '0009'.
w_upload-wrbtr = w_itab-value.
WHEN '0010'..
w_upload-zuonr = w_itab-value.
WHEN '0011'.
w_upload-sgtxt = w_itab-value.
WHEN '0012'.
w_upload-newko = w_itab-value.
ENDCASE.
AT END OF row.
APPEND w_upload TO it_upload.
CLEAR: w_upload.
ENDAT.
ENDLOOP.
*endif.
ENDIF.
DATA: lw_upload TYPE ty_filedata,
lv_lines TYPE sy-tabix,
lv_index TYPE sy-tabix.
DESCRIBE TABLE it_upload LINES lv_lines.
LOOP AT it_upload INTO lw_upload.
lv_index = sy-tabix.
w_upload = lw_upload.
IF NOT w_upload-bukrs IS INITIAL.
IF lv_index GT 1.
CALL TRANSACTION 'FB01' USING it_bdcdata
MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
PERFORM fr_format_message_text.
REFRESH: it_bdcdata.
ENDIF.
PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BKPF-XBLNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BKPF-BLDAT'
w_upload-bldat.
PERFORM bdc_field USING 'BKPF-BLART'
w_upload-blart.
PERFORM bdc_field USING 'BKPF-BUKRS'
w_upload-bukrs.
PERFORM bdc_field USING 'BKPF-BUDAT'
w_upload-budat.
PERFORM bdc_field USING 'BKPF-WAERS'
w_upload-waers.
PERFORM bdc_field USING 'BKPF-XBLNR'
w_upload-xblnr.
*perform bdc_field using 'FS006-DOCID'
PERFORM bdc_field USING 'RF05A-NEWBS'
w_upload-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
w_upload-newko.
ENDIF.
IF lv_index NE lv_lines.
lv_index = lv_index + 1.
READ TABLE it_upload INTO w_upload_n INDEX lv_index.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
w_upload-wrbtr.
PERFORM bdc_field USING 'RF05A-NEWBS'
w_upload_n-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
w_upload_n-newko.
ELSE.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR'
w_upload-wrbtr.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-ANLN1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
ENDLOOP.
CALL TRANSACTION 'FB01' USING it_bdcdata
MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
PERFORM fr_format_message_text .
REFRESH: it_bdcdata.
*& Form BDC_DYNPRO
FORM bdc_dynpro USING program dynpro.
CLEAR w_bdcdata.
w_bdcdata-program = program.
w_bdcdata-dynpro = dynpro.
w_bdcdata-dynbegin = 'X'.
APPEND w_bdcdata TO it_bdcdata.
ENDFORM. "BDC_DYNPRO
Insert field *
FORM bdc_field USING fnam fval.
IF fval <> space.
CLEAR w_bdcdata.
w_bdcdata-fnam = fnam.
w_bdcdata-fval = fval.
APPEND w_bdcdata TO it_bdcdata.
ENDIF.
ENDFORM. "BDC_FIELD
*& Form fr_format_message_text
FORM fr_format_message_text.
DATA: lf_msg TYPE string.
WRITE:/ sy-uline(125).
FORMAT COLOR 1 INTENSIFIED ON.
WRITE : /1 sy-vline,
2 text-041 , "'record Number',
16 sy-vline,
17 text-042 , " 'success/failure',
35 sy-vline,
36 text-043, " 'document no',
55 sy-vline,
56 text-044, "'Error details',
125 sy-vline.
WRITE:/ sy-uline(125).
LOOP AT it_bdcmsgcoll INTO w_bdcmsgcoll.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = w_bdcmsgcoll-msgid
lang = sy-langu
no = w_bdcmsgcoll-msgnr
v1 = w_bdcmsgcoll-msgv1
v2 = w_bdcmsgcoll-msgv2
v3 = w_bdcmsgcoll-msgv3
v4 = w_bdcmsgcoll-msgv4
IMPORTING
msg = lf_msg
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc EQ 0.
WRITE:/01 sy-vline,
02 sy-tabix,
16 sy-vline,
17 w_bdcmsgcoll-msgtyp,
35 sy-vline,
36 w_bdcmsgcoll-msgv1,
55 sy-vline,
56 lf_msg,
125 sy-vline.
WRITE:/ sy-uline(125).
ENDIF.
ENDLOOP.
ENDFORM. "fr_format_message_text
Thanks in advance.Hi Neelima,
Just put the following code within that LOOP...ENDLOOP statement.
LOOP AT it_upload INTO lw_upload.
CALL TRANSACTION 'FB01' USING it_bdcdata
MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
PERFORM fr_format_message_text .
REFRESH: it_bdcdata.
ENDLOOP.
Regards,
R.Nagarajan.
We can - -
Regarding capturing VF01 ERROR logs in a background job
Hi ,
We are running a background job that calls transaction VF01 via BDC .
CALL TRANSACTION 'VF01' USING bdcdata
MODE S
UPDATE N
MESSAGES INTO gt_messtab.
In some cases billing documents will not be generated. In such cases systems will throw message "Check the log "
After which we can check the error messages via Menu Edit>logs.
This error messages (stored in XVBFS internal table) need to captured in the job log i.e custom programme.
Unfortunately i could not found any user exits/BADIs that can help me in capturing message.
Can you please help me how can i solve this issue?
Thanks in advance
Manoj
Edited by: Manoj J on Nov 16, 2011 9:42 AM
Moderator message : Duplicate post locked, continue with original thread [How to capture error logs of VF01 in a background job log |Re: How to capture error logs of VF01 in a background job log].
Edited by: Vinod Kumar on Nov 16, 2011 3:34 PMHi Manoj,
I had a similar problem.
I solved it selecting from VBSK the last record of the user regarding elaboration of invoices, and then calling f.m. 'VBSK_ALV_DISPLAY'.
Otherwise you could call directly transaction "V.21"
Hope this could help you
Andrea -
How to write error log while creating invoice and avoid implicite commit
Hi,
I've have written code in exit RV60AFZZ in which I check for some possible errors while invoicing via VF01/VF04. If conditions are met then we create error message and display it to the user. As result we had a lot of missing SD invoices in FI when we did batch/mass invoicing. I've opened OSS note and SAP support team wrote that using statement MESSAGE is forbidden in UE. It can lead to implicite commits.
Do you have some example how to write error log for invoincing in VF01/VF04 transactions?
Thanks@ sri nath. Please read post before answering. I wouldn't be posting trivial questions. As I wrote before it doesn't work. Also SAP support would not answer to the question in my OSS.
In VOFM, SAP is using routine VBFS_HINZUFUEGEN_ALLG to write to error log.
Mine is something like this in ue:
PERFORM ZVBFS_HINZUFUEGEN_ALLG
USING VBAP-VBELN VBAP-POSNR 'ZSD' 'E '600'
SPACE SPACE SPACE SPACE.
(we have custom message class)
As result XVBFS and VBSK are filled with error, but posting is also done. Error log is filled but invoice is created and posted in FI.
That is not OK.
thanks -
ORABPEL-08033: EJB Transaction Error
Hi
I have a usecase in which procA(sync Service) calling procB (Async Service) and on completion of execution, ProcB gives a non blocking invoke back to procA. Condition: The either of one should be in running state always.
However there are fault situation in ProcB hence to not to break the sequence we have put a catchAll block which handles/logs and then gives the non blocking invoke back to procA.
But when ProcB fails somewhere because of some other partner links, it is safely going into catchAll and handling it well and when it tries to do a non blocking invoke it is resulting in following:
ORABPEL-08033
EJB Transaction Error.
EJB exception happened while invoking the partner. Please verify partner service.
Can somebody give me some leads in this?
TIA
regards
JoyI have setup catch statements, both an catch all in the outermost scope and a catch for remote fault at the scope surrounding the call to the AQ. But that's not the issue. The problem is that BPEL don't get the error. The error stay's at the adapter and the BPEL don't come to a failed state.
-
Creation of error log on input data and stat report
I am doing call transaction on <b>C202</b> transaction.my client asked me before uploading the file he needs some validations on input file and he is asking me to create a log for all the validations.i have to place error lof for all the input data.
An error log will record all errors occurring during upload. For each error the list should
contain the data (line) going in error and an error text in a subsequent column (subsequent to data). The change number used to perform the upload will be stated in the header of the error list.A txt-file containing the error log will get the same name as the input file, but with an ending err.xls.
Therefore no Batch-Input-Session is needed.
After execution of the batch input program, the following analysis regarding execution will be shown:
o Number of records in input file (including title, first line)
o Number of records successfully updated
o Number of records in error
Example:
Number of records in input file (incl. first line) 4
Number of records successfully updated: 3
Number of records in error: 0
How to do this according to client requirements.can u help me to get a statastical way to represent errors. Send me some smpale code for number of errors and no records gets success and no of failed.
Thanks
chandrasekharHai Chandrasekhar
Go through the following Code
report Z_CALLTRANS_VENDOR_01
no standard page heading line-size 255.
Generated data section with specific formatting - DO NOT CHANGE ***
data: begin of it_lfa1 occurs 0,
KTOKK like lfa1-ktokk,
NAME1 like lfa1-name1,
SORTL like lfa1-sortl,
LAND1 like lfa1-land1,
end of it_lfa1.
End generated data section ***
data : it_bdc like bdcdata occurs 0 with header line.
*DATA: IT_MESSAGES TYPE TABLE OF BDCMSGCOLL WITH HEADER LINE.
*DATA: LV_MESSAGE(255).
data : it_messages like bdcmsgcoll occurs 0 with header line.
data : V_message(255).
data : V_flag.
data : V_datum1 type sy-datum.
data : begin of it_mesg occurs 0,
message(100),
end of it_mesg.
*V_datum1 = sy-datum-1.
parameters : P_Sess like APQI-GROUPID.
start-of-selection.
perform Get_data.
*perform open_group.
loop at it_lfa1.
perform bdc_dynpro using 'SAPMF02K' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-KTOKK'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-KTOKK'
it_lfa1-KTOKK.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-LAND1'.
perform bdc_field using 'BDC_OKCODE'
'=UPDA'.
perform bdc_field using 'LFA1-NAME1'
it_lfa1-name1.
perform bdc_field using 'LFA1-SORTL'
it_lfa1-sortl.
perform bdc_field using 'LFA1-LAND1'
it_lfa1-land1.
call transaction 'XK01' using it_bdc
mode 'N'
update 'S'
messages into it_messages.
if sy-subrc <> 0.
if V_flag <> 'X'.
perform open_group.
V_flag = 'X'.
endif.
perform bdc_transaction. "using 'XK01'.
endif.
perform format_messages.
refresh : it_bdc,it_messages.
endloop.
if V_flag = 'X'.
perform close_group.
endif.
*& Form Get_data
text
--> p1 text
<-- p2 text
FORM Get_data .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\srinu_vendor.txt'
FILETYPE = 'ASC'
TABLES
DATA_TAB = it_lfa1
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " Get_data
*& Form bdc_dynpro
text
-->P_0061 text
-->P_0062 text
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR it_BDC.
it_BDC-PROGRAM = PROGRAM.
it_BDC-DYNPRO = DYNPRO.
it_BDC-DYNBEGIN = 'X'.
APPEND it_BDC.
ENDFORM.
Insert field *
FORM BDC_FIELD USING FNAM FVAL.
CLEAR it_BDC.
it_BDC-FNAM = FNAM.
it_BDC-FVAL = FVAL.
APPEND it_BDC.
ENDFORM.
*& Form format_messages
text
--> p1 text
<-- p2 text
FORM format_messages .
loop at it_messages.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = it_messages-MSGID
LANG = 'EN'
NO = it_messages-MSGNR
V1 = it_messages-MSGV1
V2 = it_messages-MSGV2
V3 = it_messages-MSGV3
V4 = it_messages-MSGV4
IMPORTING
MSG = V_message
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
write : / V_message.
clear : V_message.
endloop.
ENDFORM. " format_messages
*& Form open_group
text
--> p1 text
<-- p2 text
FORM open_group .
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = P_Sess
HOLDDATE = V_datum1
KEEP = 'X'
USER = SY-UNAME
IF SY-SUBRC = 0.
write : / 'Session Creating wit Name : ',P_Sess.
ENDIF.
ENDFORM. " open_group
*& Form close_group
text
--> p1 text
<-- p2 text
FORM close_group .
CALL FUNCTION 'BDC_CLOSE_GROUP'.
ENDFORM. " close_group
*& Form bdc_transaction
text
-->P_0132 text
FORM bdc_transaction. "USING VALUE(P_0132).
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'XK01'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
DYNPROTAB = it_bdc
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " bdc_transaction
Regards
Sreeni
Message was edited by: Sreenivasulu Ponnadi -
Use global temp table for DML error logging
our database is 11.2.0.4 enterprise edition on solaris 10
we are wondering if anyone has an opinion of or has done this before, to use a global temp table for DML error logging. We have a fairly busy transactional database with 2 hot tables for inserts. The regular error table created with dbms_errlog has caused many deadlocks which we don't quite understand yet. we have thought using global temp table for the purpose, and that seemed to work, but we can't read error from the GTT, the table is empty even reading from the same session as inserts. Does anyone have an idea why?
ThanksThe insert into the error logging table is done with a recursive transaction therefore it's private from your session which is doing the actual insert.
Adapted from http://oracle-base.com/articles/10g/dml-error-logging-10gr2.php
INSERT INTO dest
SELECT *
FROM source
LOG ERRORS INTO err$_dest ('INSERT') REJECT LIMIT UNLIMITED;
99,998 rows inserted.
select count(*) from dest;
COUNT(*)
99998
SELECT *
FROM err$_dest
WHERE ora_err_tag$ = 'INSERT';
1400 "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")" I INSERT 1000 Description for 1000
1400 "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")" I INSERT 10000 Description for 10000
1400 "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")" I INSERT 1000 Description for 1000
1400 "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")" I INSERT 10000 Description for 10000
rollback;
select count(*) from dest;
COUNT(*)
0
SELECT *
FROM err$_dest
WHERE ora_err_tag$ = 'INSERT';
1400 "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")" I INSERT 1000 Description for 1000
1400 "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")" I INSERT 10000 Description for 10000
1400 "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")" I INSERT 1000 Description for 1000
1400 "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")" I INSERT 10000 Description for 10000 -
DML ERROR LOGGING - how to log 1 constraint violation on record
Hi there
We are using DML error logging to log records which violate constraints into an error table.
The problem is when a record violates > 1 constraint it logs the record but details only 1 constraint violation - is there a way to get it to record all constraint violations on an individual record.
Many ThanksIn the Netherlands several years ago a framework called CDM RuleFrame was introduced that did just this. Their main thought was that it is desirable to collect all error messages from one transaction and display them all at the end of the transaction.
[url http://www.dulcian.com/papers/ODTUG/2001/BR%20Symposium%202001/Boyd_BR.htm]Here is an article that explains the concept.
In short: it involves coding every single business rule as a database trigger using transaction management of CDM RuleFrame.
I would not recommend it however, because I think [url http://rwijk.blogspot.com/2007/09/database-triggers-are-evil.html]database triggers are evil. However, it may appeal to first time users of an application.
Hope this helps.
Regards,
Rob.
Message was edited by:
Rob van Wijk
But if cannot be "turned on" by some switch: you have to design your system this way. So the short answer to your question is: no, it is not possible. -
Hi Guys,
I have a script to import a number of dimensions, this was previously done with an Esscmd script but is now in a MAXL script. Is it possible to write to an error log for each dimensionn I dont seem to be able to get the syntax correct;
import database Appname.DBname dimensions
connect as 'user' identified by 'password' using server rules_file 'Products' preserve all data on error append to '\\\server\\share\Products.err',
connect as 'user' identified by 'password' using server rules_file 'Customer' preserve all data on error append to '\\\server\\share\product.err',
and so on, this will error at the first comma at the end of line 3, if I replace the comma with semi colon the first statement is executed ok but not the second.
All help appreciated
EdWhat happened is that you used the error file after each transaction, you should add the error file after your last transaction or build. Or if you want to have separate error files you have to have separate statements for each dimension build that starts with 'importdatabase Appname.DBname dimensions'.
here's a sample of a single statement:
import database sample.basic dimensions
from server text data_file 'genref' using server rules_file 'genref' suppress verification,
from server text data_file 'level' using server rules_file 'level' suppress verification,
from server text data_file 'time' using server rules_file 'time'
preserve input data on error append to 'C:\Hyperion\EAS\eas\client\dataload.err'; -
Back ground batch input processing error log handling
Dear Friends,
Currently im am scheduling job for batch processing of goods receipt through bapi, now after the succesfull run of this program im appending all the success and error logs in one internal table and sending this table to spool for future reference.
Is there any other way to handle the error logs??
bcoz in the method im using every time user has to run transaction sp01 to access that spool request to check the error logs.
Kindly suggest ....
Regards,
Sunny VBest way will be creating Application Logs of the reports log.This will be forever in the system unless you delete it.
Few one time settings are required. After that you can use tcodes
SLG1 (Analyze application log) and
SLG2 (Application Log: Delete expired logs).
For more info take the help from below link:
[Create Application Log|http://help.sap.com/saphelp_nw04/Helpdata/EN/2a/fa0216493111d182b70000e829fbfe/frameset.htm]
Let me know if you find any difficulty in doing this. -
Sales Order Costing Error Log Display
When I look at Sales Order costing thru VA03 or when I run the Multi-level BOM costing for sales order CK87_99 I can not display the costing error log. I can generate the log thru VA02, but we need to limit the Sales Order change transaction to the Order Management group and did not want to give change order access to the product cost group.
Any options to get the costing error log from VA03?
ThanksI cheeked OKY9 and the Update tab had the "Save Error Log" checked, but on the Misc tab the "Log Messages but do not save" on the error message field was selected. When I changed the selection to "Log and Save Message" this corrected my problem.
Your suggestion guided me in the right direction. Thanks, -
When does a error log is creaded during BDC recording
hi,
i am working on Reports, i need to know how the BDC recording works, and when the error log log be createdHi anitha,
You have got a message generated from message class "RQ" with message number "XXX".
Are you getting this error during recording. Which transaction you are using for recording.
The error messages will be generated when you documented is not proceesed completly via BDC. You can collect the error messages in to an internal table and print at the end of the program as a report.
If you are using Call Traansaction
*------ Declaring Internal Table to Store BDC Errors *----
DATA: BEGIN OF T_MESSTAB OCCURS 0.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF T_MESSTAB.
CALL TRANSACTION 'TCODE' USING BDC_TAB MODE 'A'
MESSAGES INTO T_MESSTAB.
LOOP AT T_MESSTAB.
WRITE / TEXT-001.
WRITE:/10 T_MESSTAB-DYNAME, 30 T_MESSTAB-DYNUMB.
WRITE:/10 T_MESSTAB-MSGV1.
ENDLOOP.
Lanka -
Hello friends,
Is it possible to create error log in session method, just like call transaction ( BDCMSGCOLL) . I want to create error log.
Is it possible or not, If possible how ?
Please let me know the answer.
Thanks,
AjayHi,
* To catch no. of lines in itab.
DESCRIBE TABLE itab LINES trec.
* To catch no. of lines in it_err.
DESCRIBE TABLE it_err LINES erec.
* Calculation for records which are successfully uploaded.
srec = trec - erec.
* Layout for display summary begin.
WRITE:(60) sy-uline..
WRITE:/ sy-vline, ' SUMMARY OF TRANSACTION '
COLOR COL_HEADING,60 sy-vline..
WRITE:/(60) sy-uline..
WRITE:/ sy-vline, 'TOTAL NO. OF RECORDS ' COLOR
COL_TOTAL, 46 sy-vline, 50 trec LEFT-JUSTIFIED, 60 sy-vline.
WRITE:/(60) sy-uline.
WRITE:/ sy-vline, 'No Of Records Not Uploaded Successfully are:' COLOR
COL_NEGATIVE HOTSPOT ON,50 erec LEFT-JUSTIFIED, 46 sy-vline,60
sy-vline.
WRITE:/(60) sy-uline.
WRITE:/ sy-vline, 'No Of Records Uploded Successfully are: ' COLOR
COL_POSITIVE ,50 srec LEFT-JUSTIFIED,46 sy-vline,60 sy-vline.
WRITE:/(60) sy-uline.
* Function to create error file.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
filename = 'C:\ERRORS.TXT'
filetype = 'DAT'
TABLES
data_tab = it_err.
* Subroutine for bdc_dynpro.
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
* Subroutine for bdc_field.
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. "BDC_FIELD
* Subroutine for bdc_transaction.
FORM bdc_transaction USING tcode.
DATA text(74).
DATA text1(34).
DATA text2(20).
text1 = 'Uploading Data for MATERIAL(MAKTX):' .
text2 = '---PLEASE WAIT.'.
CONCATENATE text1 itab-MAKTX text2 INTO text.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = text
EXCEPTIONS
OTHERS = 1.
REFRESH messtab.
CALL TRANSACTION tcode USING bdcdata
MODE 'N'
* MODE 'A'
UPDATE 'S'
MESSAGES INTO messtab.
l_subrc = sy-subrc.
* Moving data to it_trec.
MOVE l_subrc TO it_trec-rtcode.
MOVE itab-line TO it_trec-rec.
MOVE itab-MAKTX TO it_trec-MAKTX.
MOVE itab-MATKL TO it_trec-MATKL.
APPEND it_trec.
* Looping in bdcmsgcoll structure.
LOOP AT messtab.
SELECT SINGLE * FROM t100 WHERE sprsl = messtab-msgspra
AND arbgb = messtab-msgid
AND msgnr = messtab-msgnr.
IF sy-subrc = 0.
l_mstring = t100-text.
IF l_mstring CS '&1'.
REPLACE '&1' WITH messtab-msgv1 INTO l_mstring.
REPLACE '&2' WITH messtab-msgv2 INTO l_mstring.
REPLACE '&3' WITH messtab-msgv3 INTO l_mstring.
REPLACE '&4' WITH messtab-msgv4 INTO l_mstring.
ELSE.
REPLACE '&' WITH messtab-msgv1 INTO l_mstring.
REPLACE '&' WITH messtab-msgv2 INTO l_mstring.
REPLACE '&' WITH messtab-msgv3 INTO l_mstring.
REPLACE '&' WITH messtab-msgv4 INTO l_mstring.
ENDIF.
CONDENSE : l_mstring.
MOVE l_mstring TO it_trec-mess.
MODIFY it_trec INDEX sy-tabix.
ENDIF.
ENDLOOP.
FORMAT COLOR 4.
* Catching error records from it_trec & moving to it_err.
LOOP AT it_trec WHERE rtcode <> 0.
MOVE-CORRESPONDING it_trec TO it_err.
APPEND it_err.
ENDLOOP.
REFRESH it_trec.
REFRESH bdcdata.
Nikhil.
Edited by: Nikhil Kanegaonkar on May 27, 2009 2:31 PM
Maybe you are looking for
-
Arrow keys on my wired keyboard don't work. How do I fix these?
The four (4) arrow keys on my wired keyboard don't work. How do I fix these? Sorry, I came from a PC and am very new to the Mac. Thanks.
-
XI3.0 Receiver file adapter write to windows shared drive
Hi, Our XI server SP09 currently runs on windows 2003 server, I wish to use the receiver file adapter to create a file on another windows server. I have created a folder on the other server and set permissions so that anyone can read and write to i
-
Hello, my question is regarding to HW handling "best practice". I have a LV project which connects (beside other things) to a MKS PR4000 control station (this is a digital PSU and readout/controller device for pressure sensors and flow controllers).
-
Create Process Order without requiring a GR
HI, Does anyone know if it is possible to create an order type for rework purpose that allows us to allocate operations but requires no material goods issue but mainly requires no goods receipt. We need the input batch, Hu's, serial numbers to remain
-
HUGE problem with the updater (i think)
Ok, So last month my computer crashed and i lost all of my songs. The songs are still on the i-pod though, so is there any way to stop i-tunes from erasing all of my songs when i plug it in again.