How to activate Forward Error Handling in SRM
Hello Gurus,
I got an requirement to activate Forward Error Handling in SRM. I have searched on SDN but didn't find appropriate answer on it.
Even I found some link: PI/XI: Forward Error Handling (FEH) for asynchronous proxy calls with the use of Error and Conflict Handler (ECH)
It explains me some points like activating FEH from SRM in SPRO. I have activated the same, plz check the screen shot:
It also follows some development for the same.
Here my concern is, should I follow this document? Does it applicable to all to all the scenarios?
Step 8: it assign object id and type what does it mean...
Does any one can explain me in detail..... Please provide me any document to configure the FEH in SRM.
I am trying to implement FEH in my SRM system. So that when even XML fails due to error, I should be able to reprocess/restart it with some editing to the XML.
My receiver interface for XML is PurchaseRequestERPSourcingRequest_In
I think this is standard one and no need to make any custom code for it. SAP has all ready given solution for it with some Configuration.
I have made some configurations like:
The view FEHV_ACTIVE must have the status active.
In transaction /SAPPO/LOGSYS , the logical system must be defined for the software component SRM-EBP-ESA .
As stated in in the link :
http://esworkplace.sap.com/socoview%28bD1lbiZjPTAwMSZkPW1pbg==%29/render.asp?id=2BAABCB0D30111DC2B8D000F20FCB6A9&fragID=…
Also I have made some configuration according to the Note: 1973768 - No reprocess option is available in FEH for failed in XML in SRM
Resulted, the “Process” button get activated in the XML Post Processing screen.
But can I reprocess my XML with edited value from there..?
All the configuration part of PI is already done .
I wanted to know about the FEH Part. what are the steps i am missing or where i am going wrong ?
Please let me help.
Thanks
Regards
Karan
Dear Raz,
I have gone with above mentioned note, it explains about creating Custom Proxy and configuration with PI scenario. Even the link in my previous post, explains about the custom proxies and configuration..
I think I should must be descriptive about my issue.
I am trying to implement FEH in my SRM system. So that when even XML fails due to error, I should be able to reprocess/restart it with some editing to the XML.
My receiver interface for XML is PurchaseRequestERPSourcingRequest_In
I think this is standard one and no need to make any custom code for it. SAP has all ready given solution for it with some Configuration.
I have made some configurations like:
The view FEHV_ACTIVE must have the status active.
In transaction /SAPPO/LOGSYS , the logical system must be defined for the software component SRM-EBP-ESA .
As stated in in the link :
http://esworkplace.sap.com/socoview%28bD1lbiZjPTAwMSZkPW1pbg==%29/render.asp?id=2BAABCB0D30111DC2B8D000F20FCB6A9&fragID=…
Also I have made some configuration according to the Note: 1973768 - No reprocess option is available in FEH for failed in XML in SRM
Resulted, the “Process” button get activated in the XML Post Processing screen.
But can I reprocess my XML with edited value from there..?
Can any one tell me, what are the steps I am missing here. As this is my first time to implement FEH, I am confused.
Please let me help.
Regards,
Chandan
Similar Messages
-
Dear all
How to Setup Forward Error Handling in PI Scenarios. Can you help me with the same with screen shots if possible?
Thanks
Regards
karanHello
These are the following errors
1. Trace level="1" type="T">no interface action for sender or receiver found</Trace>
2. <Trace level="1" type="System_Error">Application-Error exception return from pipeline processing!
3.
<Trace level="1" type="T">Application Error at Receiver... => ROLLBACK WORK</Trace>
<Trace level="1" type="T">System Error at Receiver... => ROLLBACK WORK</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
<Trace level="1" type="System_Error">Application-Error exception return from pipeline processing!</
Trace level="3" type="T">No persisting of message after plsrv call, because of config</Trace>Trace level="3" type="T">Error of the prevous version:</TraceTrace level="3" type="T">Error ID APPLICATION_ERROR</Trace>
tThere are repeating errors also.
TThanks
Regards
kkaran -
Hi,
Does anyone know where I can find more information on SAP Forward Error Handling? The only info I have found so far is here [<clicky>|http://esoadocu.sap.com/socoview%28bD1lbiZjPTAwMSZkPW1pbg==%29/render.asp?sap-unique=125551&sap-params=cGFja2FnZWlkPURDQkQzMTVCNkQ3MjU1RjE5QUYyMDAxNDM4QzNCQzA4JmlkPTYyMTEwMEJBRkQ4NDQzQjBCNjkyN0FERjNGNkQ3MkZBJnBhY2thZ2VpZD1ERTA0Mjg0Njg3QkVCREYxOTUxNTAwMUE2NEQzRjQ2Mg%3d%3d]
I have found the correct place in the IMG but there is not much additional documentation there either.
Thanks
ManishGoto SAP service marketplace and search for
SAP Reference Implementation Guide -> Cross-Application Components -> Processes and Tools for Enterprise Applications -> Enterprise Services -> Error and Conflict Handling .
Your link is not correct, I found one: http://esoadocu.sap.com/socoview(bD1lbiZjPTAwMSZkPW1pbg==)/render.asp?sap-unique=122005&sap-params=cGFja2FnZWlkPURDQkQzMTVCNkQ3MjU1RjE5QUYyMDAxNDM4QzNCQzA4JmlkPTYyMTEwMEJBRkQ4NDQzQjBCNjkyN0FERjNGNkQ3MkZBJnBhY2thZ2VpZD1ERTA0Mjg0Njg3QkVCREYxOTUxNTAwMUE2NEQzRjQ2Mg%3d%3d
Reards,
Gourav -
Forward Error Handling (FEH) framework?
Hi all
Forward Error Handling (FEH) framework - can any one expalin this?
MuthuHi,
Forward Error Handling (FEH) is a framework in SOA for performing error processing in
asynchronous communication on the receiver side. Please check the troubleshooting document.
https://service.sap.com/sap/support/notes/1270081
Regards,
Masa -
Forward Error Handling - File interfaces?
Hello Experts,
Can we use Forward Error Handling (FEH) for implementing error handling in File Interfaces ?
Like for simple Application Server file interfaces, if something goes wrong during the process of writing/reading a file on App Server, can we use FEH for showing the log?
I know it is a concept used for PI...so we want to know if it can be used for file interfaces as well? Just want to keep similar approach for error handling and logging (for both PI and File Interfaces).
Thanks.Edit 1 May 2015: Added inbound
Just a slight correction.
FEH is used in the ABAP backend systems and are only for asynchronous inbound proxy interfaces. It is not available for sync proxies, IDocs, BAPIs. Neither is it available for any error handling on the PI system itself.
PI/XI: Forward Error Handling (FEH) for asynchronous proxy calls with the use of Error and Conflict Handler (ECH)
Message was edited by: Eng Swee Yeoh -
How can I add error handling facilities to this code?
Hi everyone, i have this code that needs some error handling facilities (messages that warn user the data inputted is not valid that prvent crashing) added to it. I have no idea on how to do it and i accept any ideas. I'll post the code in two sections as it doesnt fit. The code works by recieveing inputs for student grades and calculating the total and the average. That works fine, but i need to include an error handling facility that doesnt allow the user to input letters, special characters or numbers outside the range 1-10. Can anyone help?
Code Part 1:
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
import javax.swing.*;
import java.util.*;
//Defines the counter for the student count and uses a usage method to
public class EdronProject {
private int studentCount;
private static final String USAGE = "Usage: java EdronProject <student count>";
private List<Student> list;
//Set up the counter fo the number of students and the list in which
//each student's information is saved once processed
public EdronProject(int count) {
studentCount = count;
list = new ArrayList<Student>();
//Checks the number or arguments, and it executes the rest of the code
//if there is 1 argument or more (the number of arguments = the number
//of students being processed)
public static void main( String args[] ) throws NumberFormatException {
int count = 0;
switch (args.length) {
case 1: count = Integer.parseInt(args[0]); break;
default: System.out.println(USAGE); System.exit(0);
//Defines method for processing and printing students within the
//EdronProject class
EdronProject edp = new EdronProject(count);
edp.processStudents();
edp.printStudents();
class Student {
//Define integer values for the 5 subject's grades, the gradeCounter (used
//in the processing stage) and the student name string
private int
gradeCounter,
grade1,
grade2,
grade3,
grade4,
grade5;
private double total;
private String studentName;
//Use setter getter methods for the student name to be retrieved
public void setStudentName(String name) {
studentName = name;
public String getStudentName() {
return( studentName );
//Use setter getter methods for the grades inputted to be retrieved
//by the processing stage
public void setGrade(int gradeNo, int grade) throws IllegalArgumentException {
switch( gradeNo) {
case 1 : grade1 = grade; break;
case 2 : grade2 = grade; break;
case 3 : grade3 = grade; break;
case 4 : grade4 = grade; break;
case 5 : grade5 = grade; break;
default: throw new IllegalArgumentException("ERROR: Bad grade number passed!");
//Increase grade counter for it to register the number of grades inputted
//by user
gradeCounter++;
public int getGrade(int gradeNo) throws IllegalArgumentException {
int grade = 0;
switch( gradeNo) {
case 1 : grade = grade1; break;
case 2 : grade = grade2; break;
case 3 : grade = grade3; break;
case 4 : grade = grade4; break;
case 5 : grade = grade5; break;
default: throw new IllegalArgumentException("ERROR: Bad grade number passed!");
//Return grade values for them to be used by the processing stage
return( grade );
} -
How to issue an error message in SRM portal?
Subject...
I've tried using FM BBP_PD_MSG_ADD in BADI implementation BBP_DOC_CHANGE_BADI but it's not working. There's always an exception LOG_NOT_FOUND.
Please advise.Hi,
Any error generated from SRM will be visible in Portal view. No additional configurations or developments are required for that purpose.
In order for messages to generate, you will ve to use BBP_DOC_CHECK_BADI.
DOC Change BADI is meant for changing the SRM application documents based on customer's own criteria.
Regards
Virender Singh -
How to implement general error handler in labview projects
Thanks,
Hello,
You may also find these links useful:
Custom Error Handling In LabVIEW
http://zone.ni.com/devzone/conceptd.nsf/webmain/de4f036f22c4b9f286256fee0010b6fd
LabVIEW Introduction Course - Six Hours (has a section on error handling)
http://zone.ni.com/devzone/learningcenter.nsf/03f7c60f17aad210862567a90054a26c/55974411828f779086256...
Hope this helps!
Charlie S.
Visit ni.com/gettingstarted for step-by-step help in setting up your system -
How to issue an error message in srm using BBP_DOC_CHANGE_BADI implem?
Subject....
This can be easily done in BBP_DOC_CHECK_BADI using et_message exporting table. There's no table like that in DOC_CHANGE_BADI. Please Advise.Hi
First, let me one thing like "ET_MESSAGES" is not a database table it is an EXPORTING parameter of BADI (BBP_DOC_CHANGE_BADI).
This exporting parameter is referred to one TABLE TYPE (BBP_TMESSAGES_BADI) and internally it refers to the structure (BBP_SMESSAGES_BADI).
So, what you need to do is just capture all the error messages in to some internal table and loop the internal table and populate "ET_MESSAGES" internal table which is a exporting parameter.
Hope it helps you.
Thanks
Siva -
Forward Error Handler - Add component to table '
Hello,
I've been configuring SOA. Note '1270081 - Trouble shooting SOA Services' explains monitoring of SOA including FEH. It says that you need to maintain an entry for every system in table: '/n/SAPPO/LOGSYS'. In our case SRM <> R/3 we would need to configure 2 entries, one entry per system.
The above table does not excist in any of both systems. However i did find the following tableview: /SAPPO/VLGSYS. Should we use and configure it here? What does this configuration do / why is it required?
Kind regards,
TimTim,
Rather than table, did you try it as Transaction ..
/n/SAPPO/LOGSYS
It's works.. also try transaction /n/SAPPO/PPO2.
Regards,
Sandeep Parab -
How to perform Error Handling in this Bdc Code
Hi,
I had created this BDC for the tcode MB1B and i want to know how to perform the ERROR HANDLING in it ..
Plzz provide me guidelines for doing it . here's d code:-
report ZBDC_MB1B
no standard page heading line-size 255.
include bdcrecx1.
data: begin of record OCCURS 0,
WERKS_001(004), "Plant
MATNR_002(018), "ItemId
ERFMG_003(013), "Quantity in Unit of Entry
ERFME_004(003), "Unit of Entry
LGORT_005(004), "Storage Location
CHARG_006(010), "BatchId
KDAUF_007(010), "Sales Order Number
KDPOS_008(006), "Item Number in Sales Order
end of record.
PARAMETERS : P_FILNAM LIKE RLGRAP-FILENAME.
initialization.
CTUMODE = 'A'.
CUPDATE = 'A'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILNAM.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
MASK = ',. '
MODE = 'O'
IMPORTING
FILENAME = P_FILNAM
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5
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.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = P_FILNAM
FILETYPE = 'DAT'
TABLES
DATA_TAB = RECORD
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT RECORD.
BEGIN OF SCREEN 1
perform bdc_dynpro using 'SAPMM07M' '0400'.
perform bdc_field using 'BDC_CURSOR'
'RM07M-SOBKZ'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_field using 'MKPF-BLDAT'
'22.12.2008'.
*perform bdc_field using 'MKPF-BUDAT'
'22.12.2008'.
perform bdc_field using 'RM07M-BWARTWA'
'411'.
perform bdc_field using 'RM07M-SOBKZ'
'E'.
perform bdc_field using 'RM07M-WERKS'
RECORD-WERKS_001. "Plant
perform bdc_field using 'XFULL'
'X'.
perform bdc_field using 'RM07M-WVERS2'
'X'.
BEGIN OF SCREEN 2
perform bdc_dynpro using 'SAPMM07M' '0421'.
perform bdc_field using 'BDC_CURSOR'
'MSEG-CHARG(01)'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'MSEG-MATNR(01)'
RECORD-MATNR_002. "ITEMID
perform bdc_field using 'MSEG-ERFMG(01)'
RECORD-ERFMG_003. "QTY.
perform bdc_field using 'MSEG-ERFME(01)'
RECORD-ERFME_004. "UOM
perform bdc_field using 'MSEG-LGORT(01)'
RECORD-LGORT_005. "ST.LOC
perform bdc_field using 'MSEG-CHARG(01)'
RECORD-CHARG_006. "BATCHID
perform bdc_field using 'MSEGK-MAT_KDAUF'
RECORD-KDAUF_007. "S.O.
perform bdc_field using 'MSEGK-MAT_KDPOS'
RECORD-KDPOS_008. "S.O.LINE ITEM
perform bdc_field using 'DKACB-FMORE'
'X'.
BEGIN OF SCREEN 3
perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_OKCODE'
'=ENTE'.
perform bdc_field using 'DKACB-FMORE'
'X'.
perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_OKCODE'
'=ENTE'.
perform bdc_dynpro using 'SAPMM07M' '0421'.
perform bdc_field using 'BDC_CURSOR'
'MSEG-ERFMG(01)'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'DKACB-FMORE'
'X'.
BEGIN OF SCREEN 4
perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_OKCODE'
'=ENTE'.
perform bdc_transaction using 'MB1B'.
ENDLOOP.hi,
check this code in bold letters.
INCLUDE BDCRECX1.
TABLES : MARC.
TYPES : BEGIN OF TY_UPLOAD,
MATNR TYPE MARA-MATNR,
WERKS TYPE MARC-WERKS,
STEUC TYPE MARC-STEUC,
END OF TY_UPLOAD.
TYPES : BEGIN OF TY_MARC,
MATNR TYPE MARA-MATNR,
WERKS TYPE MARC-WERKS,
END OF TY_MARC.
TYPES : BEGIN OF TY_MTART,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
END OF TY_MTART.
DATA : T_MARC TYPE STANDARD TABLE OF TY_MARC,
: T_UPLOAD TYPE STANDARD TABLE OF TY_UPLOAD,
: T_BASIC TYPE STANDARD TABLE OF TY_UPLOAD,
: T_SALES TYPE STANDARD TABLE OF TY_UPLOAD,
: T_ERROR TYPE STANDARD TABLE OF TY_UPLOAD.
DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
IT_BDCDATA_VIEW LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
IT_DATA(3200) OCCURS 0 WITH HEADER LINE,
IT_FIELD(3200) OCCURS 0 WITH HEADER LINE,
IT_BDCMSG TYPE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA GI_MSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA : CHAR1(500),
CHAR2(500),
CHAR3 TYPE STRING,
V_SELECTION TYPE STRING. " For View Selection
DATA : W_MARC TYPE TY_MARC,
WA_UPLOAD TYPE TY_UPLOAD,
WA_BASIC TYPE TY_UPLOAD,
WA_SALES TYPE TY_UPLOAD,
WA_ERROR TYPE TY_UPLOAD,
WA_MTART TYPE TY_MTART.
DATA : VAR TYPE N,
VAR1 TYPE STRING.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. "SELECTION SCREEN
PARAMETERS: P_FNAM LIKE RLGRAP-FILENAME.
PARAMETERS: P_BAS LIKE RLGRAP-FILENAME.
PARAMETERS: P_SAL LIKE RLGRAP-FILENAME.
PARAMETERS: P_ERR LIKE RLGRAP-FILENAME.
SELECTION-SCREEN : END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAM.
PERFORM SEARCH USING P_FNAM.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BAS.
PERFORM SEARCH USING P_BAS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_SAL.
PERFORM SEARCH USING P_SAL.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_ERR.
PERFORM SEARCH USING P_ERR.
*& Form SEARCH
text
-->PFNAME text
FORM SEARCH USING PFNAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
STATIC = 'X'
CHANGING
FILE_NAME = PFNAME.
ENDFORM. "SEARCH
START-OF-SELECTION.
PERFORM UPLOAD_PROCESS USING P_FNAM.
PERFORM OPEN_GROUP.
PERFORM PROCESS.
PERFORM CLOSE_GROUP.
IF NOT T_BASIC[] IS INITIAL.
PERFORM DOWNLOAD TABLES T_BASIC[] USING P_BAS .
ENDIF.
IF NOT T_SALES[] IS INITIAL.
PERFORM DOWNLOAD TABLES T_SALES[] USING P_SAL .
ENDIF.
IF NOT T_ERROR[] IS INITIAL.
PERFORM DOWNLOAD TABLES T_ERROR[] USING P_ERR.
ENDIF.
*& Form PROCESS
text
FORM PROCESS.
LOOP AT T_UPLOAD INTO WA_UPLOAD.
PERFORM CONV_ROUTINE USING WA_UPLOAD-MATNR
CHANGING WA_UPLOAD-MATNR.
SELECT COUNT(*) FROM MARA WHERE MATNR = WA_UPLOAD-MATNR.
IF SY-SUBRC NE 0.
MOVE-CORRESPONDING WA_UPLOAD TO WA_BASIC.
APPEND WA_BASIC TO T_BASIC.
CLEAR WA_BASIC.
CONTINUE.
ENDIF.
SELECT COUNT(*) FROM MARC WHERE MATNR = WA_UPLOAD-MATNR
AND WERKS = WA_UPLOAD-WERKS
AND PSTAT LIKE '%V%'.
IF SY-SUBRC NE 0.
MOVE-CORRESPONDING WA_UPLOAD TO WA_SALES.
APPEND WA_SALES TO T_SALES.
CLEAR WA_SALES.
CONTINUE.
ENDIF.
CLEAR : WA_MTART.
SELECT SINGLE MATNR MTART FROM MARA INTO WA_MTART WHERE MATNR = WA_UPLOAD-MATNR.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AUSW'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
WA_UPLOAD-MATNR.
CALL FUNCTION 'MATERIAL_BTCI_SELECTION_NEW' " Function module
EXPORTING
MATERIAL = WA_UPLOAD-MATNR " Material number
MATERIALART = WA_MTART-MTART " Material Type
SELECTION = 'V' "
TCODE = 'MM02' " Tcode where view's are called.
TABLES
BTCI_D0070 = IT_BDCDATA_VIEW
EXCEPTIONS
MATERIAL_NOT_FOUND = 1
MATERIAL_NUMBER_MISSING = 2
MATERIAL_TYPE_MISSING = 3
MATERIAL_TYPE_NOT_FOUND = 4
NO_ACTIVE_DYNPRO_SELECTED = 5
NO_AUTHORITY = 6
OTHERS = 7.
READ TABLE IT_BDCDATA_VIEW WITH KEY FVAL = 'X'.
IF SY-SUBRC = 0.
V_SELECTION = IT_BDCDATA_VIEW-FNAM.
ELSE.
CONTINUE.
ENDIF.
VAR = IT_BDCDATA_VIEW-FNAM+17(2).
VAR = VAR + 3.
CONCATENATE 'MSICHTAUSW-KZSEL(' '0' VAR ')' INTO VAR1.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(06)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING VAR1
'X'.
CLEAR VAR.
CLEAR VAR1.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(06)'
'X'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-VKORG'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
WA_UPLOAD-WERKS.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4004'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
'MTI_ESE_HALB_01'.
PERFORM BDC_FIELD USING 'MARC-STEUC'
WA_UPLOAD-STEUC.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-HERKR'.
PERFORM BDC_FIELD USING 'MARC-HERKL'
'IN'.
PERFORM BDC_FIELD USING 'MARC-HERKR'
'MAH'.
PERFORM BDC_TRANSACTION USING 'MM02'.
move the error record into seperate internal table nad down load it ****
IF MESSTAB-MSGTYP = 'E'.
MOVE-CORRESPONDING WA_UPLOAD TO WA_ERROR.
APPEND WA_ERROR TO T_ERROR.
CLEAR WA_ERROR.
ENDIF.
ENDLOOP.
ENDFORM. "PROCESS
*& Form UPLOAD_PROCESS
text
-->PFNAME text
FORM UPLOAD_PROCESS USING PFNAME.
DATA : PFNAME1 TYPE STRING.
PFNAME1 = PFNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = PFNAME1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = T_UPLOAD[].
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. "UPLOAD_PROCESS
*& Form CONV_ROUTINE
text
-->P_INPUT text
-->P_OUTPUT text
FORM CONV_ROUTINE USING P_INPUT
CHANGING P_OUTPUT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_INPUT
IMPORTING
OUTPUT = P_OUTPUT.
ENDFORM. "CONV_ROUTINE
*& Form DOWNLOAD
text
-->GI_FINAL text
-->PFNAME text
FORM DOWNLOAD TABLES
GI_FINAL
USING PFNAME .
DATA : FNAME TYPE STRING.
FNAME = PFNAME.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = FNAME
FILETYPE = 'DAT'
WRITE_FIELD_SEPARATOR = 'x'
HEADER = '00'
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = GI_FINAL[]
FIELDNAMES = GI_FIELDNAMES[]
IF SY-SUBRC = 0.
MESSAGE 'FILE DOWNLOADED SUCCESSFULLY' TYPE 'I'.
ENDIF.
ENDFORM. " DOWNLOAD
Regards
Siva Prasad -
General Error Handling - use of FEH (PPO/ECH)
We are investigating the usage of Forward Error Handling, known with SAP as PPO (Post Processing) and ECH (Error Capture Handler) to be able to re-process errors (automatically or manually) from incoming messages.
I am interested in talking with anyone who has implemented this. General questions are:
- how have you found it to work in real life?
- configuration/set-up straight-forward?
- what scenarios have used it in?
- incorporated into your custom services?
But am interested in any comments.
I am posting this within the PI forum as it ties into the fact we async scenarios inbound to SAP, typically from our PI system, and when those scenarios encounter an error we are looking for a way to have a business/end user - friendly interface for reprocessing the error. Implementing a proxy scenario, and thus having the errors show within sxmb_moni/sxi_monitor, is probably not going to work for us - too technical. I am also aware of an add-on, AIF I believe, but our company is not interested in installing that.
There are 4 blogs out there that I am aware of - 2 from Tobias and 2 from Michal. Very informative. I am finding some config not as ours though. Am really interested in anyone has really implemented and used this in a prod environment.
Regards,
KeithI think I am exactly at the same position as you in figuring out the usage of FEH in an environment. I just completed a small document (for internal purpose) that I prepared gathering all the information from those blogs, SCN and TechEd. Here are my 2 cents:
>>- how have you found it to work in real life?
We haven't implemented it yet. But we believe it will be quite useful in handling business specific errors. We are trying to find out if it can be merged with the existing BPEM infrastructure to generate BPEM cases.
>>- configuration/set-up straight-forward?
Yes, the blogs should be quite useful to provide this information.
>>- what scenarios have used it in?
Most importantly it will be used for standard service implementation where we consume enterprise services from ES workplace. These services have FEH capability built in (they have FEH method implemented within). The scenarios are of course inbound abap proxy.
>>- incorporated into your custom services?
We are still in design phase. But if you ask me about it, i would say yes you can and I think you should use it for custom ones as well.
Kind regards,
Prateek Raj Srivastava -
IDOC to SOAP asynchronous scenario Error handling
Need an expert!!!!!!!!! advise on error handling for IDOC--PI--
SOAP scenario.This is a asynchronous scenario where PI is calling a Legacy system using SOAP adapter.My question is how i can do error handling in this scenario.If i get an alert in pi with payload variable that would be fine, do i need to use BPM and if that is tthe case what will be steps.
Appreciate your help.
ManishHello Manish,
My question is how i can do error handling in this scenario.
Use the standard alert framework. Search on SDN / SAP Help for details.
do i need to use BPM and if that is tthe case what will be steps.
BPM is not required to raise alerts, as this is an async call.
Regards,
Neetesh -
How can I handel errors in .ksh file
Hi All
I am writing a .ksh file which will create FTP a file to the ftp location ..
My file looks like this :-
cd ${RUNTIME}
NOW=$(date +"%y%m%d%H%M%S")
ftp -i -n -v ${TEST_TP_SERVER} <<END
user $TEST_TP_USER_ID $TEST_TP_USER_PWD
lcd ${OUTDIR}
put "TEST.txt" "$NOW.ABC"
quit
END
My question is how can I handel errors here in this file . If something happens after cd ${RUNTIME} line then I can write like this :
if [ "$?" -ne "0" ]; then echo "Can not connect , wrong user name / password " exit 1 fi
But after ftp -i -n -v ${TEST_TP_SERVER} <<END line I cant write the same . So can anyone please tell me how can I write error handling part after FTP command ?Moreover, I need to send that page as a whole by email, so even if the white spaces between parts of picture
could be removed during printing, it wouldn't be a solution =(
You can email the new PDF document. -
Error handling for a save button
hi. how do i get error handling say in a button, and then to give an error to the user, without crashing the whole application. can any one point me to any articles, tried searching , and not finding wxactly what i am looking for. thanks.
http://startrekcafe.stevesdomain.net http://groups.yahoo.com/groups/JawsOzhi. maybe i did not make my self clear. okay, here's how this button works, you have a open dialog button, and a open dialog box, you click the file, and it loads in the data grid. now you click on the save button, and a message says file was saved, need
try / catch code, to catch this, if the file was not saved, or other errors, then a error friendly message, any code for this. read the article, but need a specific error handler for the save button, like i had for the open dialog file dialog box. any suggestions,
or links, to look at sample code. thanks.
http://startrekcafe.stevesdomain.net http://groups.yahoo.com/groups/JawsOz
Maybe you are looking for
-
[solved] Touchpad scrolling and tapping stops working after Xorg 1.9
Hi all, My laptop is an Acer Extensa 5630EZ and it has been running for over a year with Arch without problems. However, since the xorg 1.9 upgrade the touchpad edge scrolling just randomly stops working. Everything else continues working fine. I hav
-
PAPI Web Service (PAPI-WS) Example for Oracle BPM Enterprise Standalone
Here is the location of a step-by-step explanation on how to use PAPI Web Service (PAPI-WS) to create a work item instance and then run the instance inside an activity in a process running on Oracle BPM Enterprise Standalone. http://www.4shared.com/f
-
Spark TextInput does not bring up soft keyboard in iOS?
I created an app with TextInputs that was working fine, bringing up the soft keyboard in both Android and iOS devices. After being away from it a couple weeks, when I made some unrelated changes, it no longer brings up the keyboard at all on iOS, an
-
Account won't unlock - need to wait 24 hours?
RangerGeof wrote: If she keeps getting locked out, her computer/phone are constantly hitting your DC with the old/bad password. Possibly a service. Either way without stopping that from constantly locking her account there isn't much you can do agree
-
Why does my email say my mom's name when i send one?
So i used my iphone, the caller id always shows up as her, but all my apple stuff is in my name. why does it show up with her name when i send email from my icloud account?