HR Replication - poSition replication with IDOC status 52
Hi,
When I replicate the poSition, I got the following waring messages (IDOC status 52). Please help
Relationship 008 (from 01S 5xxxxxxx to employee 0000xxxx ) will be ignored
Message no. HRALX00_ORG532
Employee 0000xxxx does not have a central person
Message no. HRALX00_ORG535
Thanks
Pranav
Edited by: Pranav on Feb 18, 2008 3:14 PM
Hi, Pranav.
Have you solved this proplem? I have the same issue.
Similar Messages
-
Hello all!
I'm trying to send a message with the status of an IDoc that has been processed, but I can't find an exit right after the status of the IDoc has been set, do you have any idea on what can I do for this?
Regards!This is the exit where we have the control of setting idoc status. If there no scope of this idoc status.
Then try to find out an exit which will be triggered before this exit with idoc status ( with value ). Then export this to memory and get back the same from memory in Vijay's suggested exit.
Also if you could able to find the exit after THIS exit you won't have option to set custom idoc status.
Regds
Manohar -
IDoc status 53 in employee replication from SAP HR
Hi experts,
We are having some problems in CRM BP creation with role employee.
We are using CRM 5.0 and SAP ECC 6.0 and we are trying to replicate employees information to CRM from HR.
After read the notes 934372, 615896, 550055, 363187, 312090 we made the next configuration steps in our systems:
R/3:
- Creation of connection port (trans. WE21)
- Creation of logical system (trans. WE20) and assignment of outbound message HRMD_ABA
- Creation of distribution model (trans. BD64) with all filters indicated in note 312090
CRM
- Creation of logical system (trans. WE20) and assignment of inbound message HRMD_ABA
- Creation of conversion between basic types HRMD_A05 and HRMD_ABA01 (trans. WE70) as described in note 312090
- Creation of conversion between message types HRMD_A and HRMD_ABA (trans. WE73) as described in note 312090
- Creation of external number range ZE from HR01200001 to HR01299999 (using PA04 in R3 we found the number range between 01200001 and 01299999)
- Creation of BP Grouping with the same name of number range (ZE) checked to be external too
- Update of table T77S0 (using SM30):
HRALX HRAC X
HRALX PBPON OFF
HRALX PBPHR ON
HRALX PBPON ON
HRALX PNUMB 3
HRALX PPROL BUP003
HRALX PSUBG ZE
PLOGI PLOGI MV
We know we should have the same value in R3 and CRM for PLOGI/PLOGI, so we created in CRM MV because that is the plan version used in R3. To create it, we just manually add a new row in table T778P and then selected it in table T77S0. Is this the correct way to create a plan version?
After these steps, in R3 we execute program RHALEINI with parameters:
- Plan version = MV
- Object type = P
- Object ID = an active employee
- Reporting period = all
- Transfer mode = Insert
- Receiving system:
Receiving partner No = DCRCLNT300 (logical system created in WE20)
Message type = HRMD_ABA
And everything looks fine in R3.
In CRM, using trans. WE05, we can see that the iDoc is created, apparently without problems with status 53 - "Applicaton document posted" but the business partner is never created.
Did we miss some configuration steps?
Should we do something more after see the iDoc in CRM to create BP?
Thanks in advance.
Aldahi pratk bhai,
ya i have done the same setting what Ada has mentioned eariler,
and as of your suggestion to maintatin the mandatory infotype, i have even done tht,
after running RHALEINI in R3, the status is all green here.
when i run the tcode BD87 to check the Idoc status its showing fine (Error free).
now, through tcode se38 the report CRMHRALE_CENTRAL_PERSON shows all the employees as status green,,
but the partner number is not getting generated. ( i have used HRALX-PNUMB= 3 (Prefeexing the number range coming from R3)).
kindly advice me what should be done in order to generate a BP number for the replicated HR Employee.
best regards,
Madhup -
Trigger workflow when IDOC Status 51 & with Basic Type "ORDERS003"
Hi Experts,
Can any one explaine how to create worlflow for "When Idoc status is 51 with the combination of Basic Type "ORDERS003" . If this condition will satisfy i need to send a mail using worklflow. For this one Bussiness type is BUS2102".
Can you explaine any one please i am new to Workflow.
Regards,
SriHi,
Please refer to the below thread. Hope it helps.
Triggering workflow upon idoc fail
Regards,
Sridhar -
IDOC is Getting Fail with - 56 Status EDI Partner profile not available
Hi,
I am trying to Post invoice Data into IDOC on ECC Side.
My Scenario is File u2013 XI u2013 ECC(IDOC).
But It is Getting Fail with 56 Status u201C EDI: Partner profile not available u201C
On Control record I am getting this
Port BLANKKKKKKKKKK
Partner Number CLNTDEC110 Logical system for Client
Partn.Type LS Logical system
Function BLANKKKKKKKKKK
Port SAPDPI
Partner number CLNTSAMPLE
Partn.Type LS Logical system
Partner Role BLANKKKKKKKKKK
My configurations are Like this :----
On ECC Side MY SID is DEC
On ECC side I have two logical system in CLNTDPI100 for PI
CLNTDEC110 for ECC.
I have Partner profile on ECC system on CLNTDPI100 logical system - we20
Added message type in inbound side of partner Profile (INVOIC-INVOIC02)
ON SAP PI/ XI System MY SID is DPI
IDX 1 has Port name SAPDEC
On Message mapping EDI_DC40 is mapping with constants with below given value
<INVOIC02>
<IDOC BEGIN="">
<EDI_DC40 SEGMENT="">
<TABNAM> </TABNAM>
<DIRECT>2</DIRECT>
<IDOCTYP> </IDOCTYP>
<MESTYP>INVOIC</MESTYP>
<SNDPOR>SAPDPI</SNDPOR>
<SNDPRT>LS</SNDPRT>
<SNDPRN>CLNTDPI100</SNDPRN>
<RCVPOR>SAPDEC</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPRN>CLNTDEC110</RCVPRN>
</EDI_DC40>
Regards
PSCheck the following :
in We 02 which partner number is displayed just in the posted IDOC -> 2nd coloum in the IDOC list .and verify if the
same you have in Partner profile. Actually this details comes from ECC business system's logical system name which you give in SLD.
in we 19 - take the error iDOC numner and open the IDOC ->click on the first line -> check entries as you mentioned
above sender port should be PI port not empty.you need to check the partner profiles properly
follow these steps
1. create a RFC destination of tyoe H for Pi system- 2. create a Port and assigen the RFC destination to it
3 create logical system for PI BD54 PICLNT001 say , 4 with the same name create a partner profile in We20
in parter profile maintain the inbbound message parameters and add the PI port as receiver port in it .Give the basic type also .
now
for sender details in ur case PI : u have port (defined in PI IDX1),patner number (LS defined in ECC PICLNT001), parter type LS.
for receiver you have port defined (as above), partner number the logical system for ECC system.
in we 19 ,, edit the control record as above and go to the tab inbound processing and test the internal posting
it should work fine. in the adapte specific attribuet for receiver ECC system , maitain the same LS name , if any wrong entry is
there then change the LS in sld to poing to correct LS/
refer this
http://www.riyaz.net/blog/xipi-settings-in-r3-partner-system-to-receive-idocs/technology/sap/26/
Regards,
Srinivas -
Hi Everyone,
How to find all idocs with error status for a given date range?Hi,
Please refer EDIDS for Status and EDIDC for control records.
Also refer the below wiki page for details.
http://wiki.scn.sap.com/wiki/display/ABAPConn/IDoc+Overview
Thanks,
Karthik -
There are IDocs with incorrect status.How to rectify it?
Hi All,
I was trying to do full load for 0vendor_attr.
The error message is getting displayed as mentioned below:
" Error when updating Idocs in Source System*
Diagnosis
Errors have been reported in Source System during IDoc update:
Incomplete control parameter for commmunication wi
System response
There are IDocs with incorrect status.
Procedure
Check the IDocs in Source System . You can get here using the BW Monitor.
Removing errors:
*How you remove the errors depends on the error message you receive." *
Please revert.The Error messages in detail:
Incomplete control parameter for commmunication with the BW system
Diagnosis
The control parameters for communication with the BW server are not
complete. A BW PlugIn upgrade could be the cause of the problem.
System response
Procedure
Depending on the Release of the BW server, proceed as follows:
BW Server Release 1.2B: Source system: Update InfoSource metadata
BW Server Release >= 2.0A: Source system: Activate
Please revert at the earliest what needs to be done int his case. -
Creating Idocs With 64 Status.
Hai Friends,
My requirement is like this...
Scenario:- my client says...They Get some idocs from a external system and then a program runs in the background to read these idocs and post Inbound delivery and IR documents.
And Now As These IDOCs are not coming ...We have to read this data from a excel sheet and Create exactly the same type of IDOCs so that They can RUN the same Program to post Documents.....
Now my doubt is ...How do i create IDOCs with status 64 and that too in the same same..as here there wont be any target system..
Please help me with ur solution....How should i Approach...I know how to fetch data from excel and all..I need Help specially in
Creating IDOCs with 64 status and what should be in the Control Records..
Waiting for your insight.
Thanks,
Jeevan...Hi,
You can use below FM for your requirement.
CALL FUNCTION 'IDOC_INBOUND_SINGLE'
EXPORTING
pi_idoc_control_rec_40 = w_control_rec
IMPORTING
pe_idoc_number = g_idoc_number
TABLES
pt_idoc_data_records_40 = i_idoc_recposting
EXCEPTIONS
idoc_not_saved = 1
OTHERS = 2.
IF sy-subrc = 0.
Idoc created if sy-subrc = 0
Endif.
The Control records should be like this ( You need to check the partner profile)
w_control_rec-mandt = sy-mandt.
w_control_rec-docrel = <sap_release>
w_control_rec-direct = '2'.
w_control_rec-idoctyp = < Idoc type >.
w_control_rec-mestyp = < message type>.
w_control_rec-sndpor = <sender port>
w_control_rec-sndprt = < Sender partner type>
w_control_rec-sndprn = < sender partner>.
w_control_rec-rcvpor = < recv port>
w_control_rec-rcvprt = < recv partnertype >
w_control_rec-rcvprn = < recv partner>
Let us know if it helps you. Thanks.
Edited by: Atul Mohanty on Jun 23, 2011 10:59 PM -
Is Sun Storage 7000 Storage replication adapter compatible with 2540 series
We are evaluating VMWare Site Recovery Manager 4.0. Is Sun Storage 7000 Storage replication adapter compatible with 2540 Sun Storage series?
I would say the short answer would be no. The 2540 is a LSI based device, the SRM adapter for that is written by LSI. The 7000
series array is based on OpenSolaris and ZFS, quite a different beast. -
Hi All,
I have created IDOC extension for IDOC Basic type "PROACT01" and have followed all required necessary steps but getting IDOC
Status 26. EDI: Syntax error in IDoc (segment cannot be identified). The exact error is:
Please check Error Details and the details of the steps I followed for Setting up IDOC Extension:
Error Detail :
EDI: Syntax error in IDoc (segment cannot be identified)
Message no. E0078
Diagnosis
The segment ZPROSEG does not occur at the current level of the basic type PROACT01 (extension PROACTEX).
This error can have several reasons:
The segment ZPROSEG is assigned to a group whose header segment does not occur.
The segment ZPROSEG does not exist in the syntax description of the basic type PROACT01 (extension PROACTEX).
The sequence of segments in the group in which the segment appears is incorrect.
Previous errors ('mandatory' segment or group missing) may be due to this error.
Procedure
Please check the IDoc or the syntax description of the basic type PROACT01 (extension PROACTEX).
Can you please look at this problem and suggest what is wrong with IDOC Extension/Custome Segment?
Below is the Details of the Steps which I have followed:
1. Tcode WE31 - Created new custom Segment ZPROSEG with 4 fields. Released segment.
2. TCode WE30 - Created IDOC Extension PROACTEX for Basic Type PROACT01. Released IDOC extension.
Here when I run syntax check warning appears "No predecessors exist". I am not sure if its okay!!
3. TCode WE82 - Added Extension PROACTEX in the Message Type PROACT with BASIC Type PROACT01.
4. TCode WE20 - Added IDOC Extension PROACTEX in the predefined partner profile in WE20 transaction.
5. Added the following code in the Customer Exit EXIT_SAPLWVMI_001 include ZXWVMIU01 .
DATA segnam(27).
READ TABLE dedidd WITH KEY segnam = 'ZPROSEG'.
IF sy-subrc NE 0.
LOOP AT dedidd WHERE segnam = 'E1EDP31'.
CLEAR dedidd.
dedidd-segnam = 'ZPROSEG'.
zproseg-matnr = 'Mat1'.
zproseg-lgort = '001'.
zproseg-gernr = 'SNo1'.
zproseg-labst = 2.
dedidd-sdata = zproseg.
APPEND dedidd.
ENDLOOP.
ENDIF.
Finally ran transaction WVM2 (Transfer of Stock & Sales Data) to generate IDOC, its creating IDOC but when checked IDOC in WE05 its getting Status Error "26".
Looking forward for your reply.
Many thanks in advance.Hello,
Actually you are appending the Z segment instead of inserting into the correct position. So the segment is added at the last, so hierarchy of segments is collapsed.
So get the index of the previous segment E1EDP31 and increase the index by 1 and INSERT the Z segment with that new index as below.
LOOP AT dedidd WHERE segnam = 'E1EDP31'.
lv_index = sy-tabix. " <<--
ADD 1 TO lv_index. " <<--
CLEAR dedidd.
dedidd-segnam = 'ZPROSEG'.
zproseg-matnr = 'Mat1'.
zproseg-lgort = '001'.
zproseg-gernr = 'SNo1'.
zproseg-labst = 2.
dedidd-sdata = zproseg.
*APPEND dedidd.
INSERT dedidd INDEX lv_index. " <<---
ENDLOOP.
Here actually we are insering the record inside the LOOP and it regenerates the index again. It is not actually a good practice.
So the best practice is get the index and generate the segment inside the loop, store them into another internal table, come out the loop and insert the Z segments into DEDIDD by looping the new internal table. -
What is the Successfull processed IDOC status number?
Hi Experts
What is the Successfull processed IDOC status number?
arjent Please.
Thanks in advance
SekharHi Chandra,
Below are IDoc Process Codes
For outboud Idocs:
1 IDoc created
2 Error passing data to port
3 Data passed to port OK
4 Error within control information of EDI subsystem
5 Error during translation
6 Translation OK
7 Error during syntax check
8 Syntax check OK
9 Error during interchange handling
10 Interchange handling OK
11 Error during dispatch
12 Dispatch OK
13 Retransmission OK
14 Interchange Acknowledgement positive
15 Interchange Acknowledgement negative
16 Functional Acknowledgement positive
17 Functional Acknowledgement negative
18 Triggering EDI subsystem OK
19 Data transfer for test OK
20 Error triggering EDI subsystem
21 Error passing data for test
22 Dispatch OK, acknowledgement still due
23 Error during retransmission
24 Control information of EDI subsystem OK
25 Processing despite syntax error (outbound)
26 Error during syntax check of IDoc (outbound)
27 Error in dispatch level (ALE service)
28 Not used
29 Error in ALE service
30 IDoc ready for dispatch (ALE service)
31 Error - no further processing
32 IDoc was edited
33 Original of an IDoc which was edited
34 Error in control record of IDoc
35 IDoc reloaded from archive
36 Electronic signature not performed (timeout)
37 IDoc added incorrectly
38 IDoc archived
39 IDoc is in the receiving system (ALE service)
40 Application document not created in receiving system
41 Application document created in receiving system
42 IDoc was created by test transaction
50 IDoc added
For Inound Idocs
51 Error: Application document not posted
52 Application document not fully posted
53 Application document posted
54 Error during formal application check
55 Formal application check OK
56 IDoc with errors added
57 Test IDoc: Error during application check
58 IDoc-Copy from an R/2 connection
59 Not used
60 Error during syntax check of IDoc (inbound)
61 Processing despite syntax error (inbound)
62 IDoc passed to application
63 Error passing IDoc to application
64 IDoc ready to be transferred to application
65 Error in ALE service
66 IDoc is waiting for predecessor IDoc (serialization)
67 Not used
68 Error - no further processing
69 IDoc was edited
70 Original of an IDoc which was edited
71 IDoc reloaded from archive
72 Not used, only R/2
73 IDoc archived
74 IDoc was created by test transaction
Regards,
Satish -
Problem with IDOC inbound function module
hi
While excecuting the inbound function module in WE19
I am getting error (short dump)
Incorrect parameter with Call transaction.Creating a Function Module (Direct Inbound Processing)
This step describes how to create a function module which is identified by the IDoc Interface using a new process code and called from ALE (field TBD52-FUNCNAME). Direct inbound processing using a function module (not using a workflow) always includes the ALE layer. This setting (processing with function module and ALE layer) is identified by the value 6 in the field TEDE2-EDIVRS, which is read by the function module IDOC_START_INBOUND. IDOC_START_INBOUND then calls ALE.
Prerequisites
You must have completed the required steps in Defining and Using a Basic Type .
Procedure
Choose Tools ® ABAP Workbench ® Development ® Function Builder, and create a new function module.
Create the segments as global data in your function group. The function module should copy the application data from the segments into the corresponding application tables and modify the IDoc status accordingly. If an error occurs, the function module must set the corresponding workflow parameters for exception handling.
Activate the function module: From the initial screen of the Function Builder select .
In the example, create the function module IDOC_INPUT_TESTER with a global interface. The function module is called when an IDoc of type TESTER01 is received for inbound processing. You will assign an application object ("standard order") to this IDoc type and therefore maintain tables from SD. To do this, call transaction VA01 using the command CALL TRANSACTION. Please note that the intention here is not to simulate a realistic standard order, but only to illustrate how data reaches application tables from an IDoc table via segment structures (form routine READ_IDOC_TESTER) and how the function module triggers an event for exception handling (by returning suitable return variables to the ALE layer in the FORM routine RETURN_VARIABLES_FILL).
A comprehensive example of the code for an inbound function module is provided in the ALE documentation in the SAP Library under Example Program to Generate an IDoc. This function module, for example, also checks whether the logical message is correct and calls a (fictitious) second function module which first writes the application data and then returns the number of the generated document. In addition, status 53 is only set if the application document was posted correctly.
Administration parameters for IDOC_INPUT_TESTER
Application abbreviation
V (Sales and Distribution)
Processing type
Normal, start immediately
Interface for IDOC_INPUT_TESTER (global interface)
Formal parameters
Reference structure
Explanation
Import parameters
INPUT_METHOD
BDWFAP_PAR-INPUTMETHD
Describes how the function module is to be processed (example: in the background)
MASS_PROCESSING
BDWFAP_PAR-MASS_PROC
Mass inbound processing? (indicator)
Export parameters
WORKFLOW_RESULT
BDWFAP_PAR-RESULT
Set to 99999 if an event is to be triggered for error handling.
APPLICATION_VARIABLE
BDWFAP_PAR-APPL_VAR
Variable freely available from application for workflow
IN_UPDATE_TASK
BDWFAP_PAR-UPDATETASK
Asynchronous update? (indicator is not set in example)
CALL_TRANSACTION_DONE
BDWFAP_PAR-CALLTRANS
Transaction called? (indicator is not set in example)
Table
IDOC_CONTRL
EDIDC
IDoc control record
IDOC_DATA
EDIDD
IDoc data records
IDOC_STATUS
BDIDOCSTAT
IDoc status records for ALE
RETURN_VARIABLES
BDWFRETVAR
IDoc assigned to Object type method parameters.
SERIALIZATION_INFO
BDI_SER
If several IDocs are to be processed in a certain sequence: this structure contains the necessary information
Example
FUNCTION IDOC_INPUT_TESTER.
""Globale Schnittstelle:
*" IMPORTING
*" VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD
*" VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC
*" EXPORTING
*" VALUE(WORKFLOW_RESULT) LIKE BDWFAP_PAR-RESULT
*" VALUE(APPLICATION_VARIABLE) LIKE BDWFAP_PAR-APPL_VAR
*" VALUE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK
*" VALUE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS
*" TABLES
*" IDOC_CONTRL STRUCTURE EDIDC OPTIONAL
*" IDOC_DATA STRUCTURE EDIDD
*" IDOC_STATUS STRUCTURE BDIDOCSTAT
*" RETURN_VARIABLES STRUCTURE BDWFRETVAR
*" SERIALIZATION_INFO STRUCTURE BDI_SER
initialize SET/GET Parameter and internal tables
PERFORM INITIALIZE_ORGANIZATIONAL_DATA.
Move IDOC to internal tables of application
PERFORM READ_IDOC_TESTER.
call transaction Order Entry VA01
PERFORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.
set status value
perform write_status_record using errorcode.
return values of function module
PERFORM RETURN_VARIABLES_FILL USING ERRORCODE.
ENDFUNCTION.
FORM INITIALIZE_ORGANIZATIONAL_DATA.
initialize SET/GET parameters
SET PARAMETER ID 'VKO' FIELD SPACE.
SET PARAMETER ID 'VTW' FIELD SPACE.
SET PARAMETER ID 'SPA' FIELD SPACE.
SET PARAMETER ID 'VKB' FIELD SPACE.
SET PARAMETER ID 'VKG' FIELD SPACE.
initialize internal tables
REFRESH BDCDATA.
CLEAR BDCDATA.
CLEAR BELEGNUMMER.
CLEAR ERRTAB.
REFRESH ERRTAB.
REFRESH XBDCMSGCOLL.
CLEAR XBDCMSGCOLL.
ENDFORM. " INITIALIZE_ORGANIZATIONAL_DATA
FORM READ_IDOC_TESTER.
PERFORM INITIALIZE_IDOC.
LOOP AT IDOC_DATA
WHERE DOCNUM = IDOC_CONTRL-DOCNUM.
CASE IDOC_DATA-SEGNAM.
header data
WHEN 'E1HEAD'.
MOVE IDOC_DATA-SDATA TO E1HEAD.
PERFORM PROCESS_SEGMENT_E1HEAD.
position data
WHEN 'E1ITEM'.
MOVE IDOC_DATA-SDATA TO E1ITEM.
PERFORM PROCESS_SEGMENT_E1ITEM.
ENDCASE.
ENDLOOP.
only when there were one or more items
CHECK FIRST NE 'X'.
APPEND XVBAP. "last one
ENDFORM. " READ_IDOC_TESTER
FORM INITIALIZE_IDOC.
CLEAR XVBAK.
REFRESH XVBAP.
CLEAR XVBAP.
POSNR = 0.
FIRST = 'X'.
ENDFORM. " INITIALIZE_IDOC
FORM PROCESS_SEGMENT_E1HEAD.
requested date of delivery
WLDAT = E1HEAD-WLDAT.
delivery date
XVBAK-BSTDK = E1HEAD-BSTDK.
customer number
XVBAK-KUNNR = E1HEAD-AUGEB.
order number
XVBAK-BSTNK = E1HEAD-BELNR.
division
XVBAK-SPART = E1HEAD-SPART.
distribution channel
XVBAK-VTWEG = E1HEAD-VTWEG.
sales organization
XVBAK-VKORG = E1HEAD-VKORG.
order type
XVBAK-AUART = E1HEAD-AUART.
do not fill incoterms (inco1, inco2)
customer function
CALL CUSTOMER-FUNCTION '001'
EXPORTING
PI_VBAK621 = XVBAK
IMPORTING
PE_VBAK621 = XVBAK
TABLES
PT_IDOC_DATA_RECORDS = IDOC_DATA.
ENDFORM. " PROCESS_SEGMENT_E1HEAD
FORM PROCESS_SEGMENT_E1ITEM.
position number
XVBAP-POSNR = XVBAP-POSNR + 1.
amount
XVBAP-WMENG = E1ITEM-MENGE.
unit
CALL FUNCTION 'ISO_TO_SAP_MEASURE_UNIT_CODE'
EXPORTING
ISO_CODE = E1ITEM-BMEINH
IMPORTING
SAP_CODE = XVBAP-VRKME
EXCEPTIONS
OTHERS = 0.
material number
XVBAP-MATNR = E1ITEM-LMATNR.
CALL CUSTOMER-FUNCTION '002'
EXPORTING
PI_VBAP621 = XVBAP
IMPORTING
PE_VBAP621 = XVBAP
TABLES
PT_IDOC_DATA_RECORDS = IDOC_DATA.
APPEND XVBAP.
ENDFORM. " PROCESS_SEGMENT_E1ITEM
FORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.
call transaction first dynpro
PERFORM DYNPRO_START.
call transaction double-line entry
PERFORM DYNPRO_DETAIL2.
incoterms
PERFORM DYNPRO_HEAD_300.
call transaction item datas
PERFORM DYNPRO_POSITION.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.
determine input method
IF INPUT_METHOD IS INITIAL.
INPUT_METHOD = 'N'.
ENDIF.
call transaction VA01
CALL TRANSACTION 'VA01' USING BDCDATA
MODE INPUT_METHOD
UPDATE 'S'
MESSAGES INTO XBDCMSGCOLL.
errorcode = SY-SUBRC. " remember returncode for status update
ENDFORM. " CALL_VA01_IDOC_ORDERS
form write_status_record using errorcode.
FILL IDOC_STATUS
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IF ERRORCODE = 0.
IDOC_STATUS-STATUS = BELEG_GEBUCHT. "value 53
GET PARAMETER ID 'AUN' FIELD BELEGNUMMER.
IDOC_STATUS-MSGID = 'V1'.
IDOC_STATUS-MSGNO = '311'.
IDOC_STATUS-MSGV1 = 'Terminauftrag'.
IDOC_STATUS-MSGV2 = BELEGNUMMER.
ELSE.
IDOC_STATUS-STATUS = BELEG_NICHT_GEBUCHT. "value 51
IDOC_STATUS-MSGID = SY-MSwGID.
IDOC_STATUS-MSGNO = SY-MSGNO.
IDOC_STATUS-MSGV1 = SY-MSGV1.
IDOC_STATUS-MSGV2 = SY-MSGV2.
IDOC_STATUS-MSGV3 = SY-MSGV3.
IDOC_STATUS-MSGV4 = SY-MSGV4.
ENDIF.
APPEND IDOC_STATUS.
ENDFORM.
FORM DYNPRO_START.
PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG
DYNPRO-EINSTIEG
CHANGING LAST_DYNPRO.
ordertype
PERFORM DYNPRO_SET USING 'VBAK-AUART' XVBAK-AUART.
sales organization
PERFORM DYNPRO_SET USING 'VBAK-VKORG' XVBAK-VKORG.
Distribution channel
PERFORM DYNPRO_SET USING 'VBAK-VTWEG' XVBAK-VTWEG.
Division
PERFORM DYNPRO_SET USING 'VBAK-SPART' XVBAK-SPART.
Sales office
PERFORM DYNPRO_SET USING 'VBAK-VKBUR' XVBAK-VKBUR.
Sales group
PERFORM DYNPRO_SET USING 'VBAK-VKGRP' XVBAK-VKGRP.
ENDFORM. " DYNPRO_START
FORM DYNPRO_NEW USING PROGNAME
DYNPRONR
CHANGING LAST_DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGNAME.
BDCDATA-DYNPRO = DYNPRONR.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
LAST_DYNPRO = DYNPRONR.
ENDFORM. " DYNPRO_NEW
FORM DYNPRO_SET USING FELDNAME
FELDINHALT.
CLEAR BDCDATA.
CHECK FELDINHALT NE SPACE.
dynpro field name
BDCDATA-FNAM = FELDNAME.
contents
BDCDATA-FVAL = FELDINHALT.
APPEND BDCDATA.
ENDFORM. " DYNPRO_SET
FORM DYNPRO_DETAIL2.
okcode
PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-UER2.
fix dynpro number 4001
PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG
'4001'
CHANGING LAST_DYNPRO.
order party
PERFORM DYNPRO_SET USING 'KUAGV-KUNNR' XVBAK-KUNNR.
purchase order number
PERFORM DYNPRO_SET USING 'VBKD-BSTKD' XVBAK-BSTNK.
requested delivery date
PERFORM DYNPRO_DATE_SET USING 'VBKD-BSTDK' XVBAK-BSTDK.
purchase order date
PERFORM DYNPRO_DATE_SET USING 'RV45A-KETDAT' WLDAT.
ENDFORM. " DYNPRO_DETAIL2
FORM DYNPRO_DATE_SET USING FELDNAME
FELDINHALT.
DATA: DATE TYPE D.
CLEAR BDCDATA.
CHECK FELDINHALT NE SPACE.
BDCDATA-FNAM = FELDNAME.
WRITE FELDINHALT TO DATE.
BDCDATA-FVAL = DATE.
APPEND BDCDATA.
ENDFORM. " DYNPRO_DATE_SET
FORM DYNPRO_HEAD_300.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-KKAU.
incoterms part 1
IF NOT XVBAK-INCO1 IS INITIAL.
PERFORM DYNPRO_SET USING 'VBKD-INCO1' XVBAK-INCO1.
ENDIF.
incoterms part 2
IF NOT XVBAK-INCO2 IS INITIAL.
PERFORM DYNPRO_SET USING 'VBKD-INCO2' XVBAK-INCO2.
ENDIF.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'BACK'.
ENDFORM. " DYNPRO_HEAD_300
FORM DYNPRO_POSITION.
LOOP AT XVBAP.
dynpro item double line entry
PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'UER2'.
IF XVBAP-POSNR = 1.
material number
PERFORM DYNPRO_SET USING 'VBAP-MATNR(01)' XVBAP-MATNR.
order quantity
PERFORM DYNPRO_SET USING 'RV45A-KWMENG(01)' XVBAP-WMENG.
desired delivery date
PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(1)' WLDAT.
sales unit
PERFORM DYNPRO_SET USING 'VBAP-VRKME(1)' XVBAP-VRKME.
ELSE.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'POAN'.
material number
PERFORM DYNPRO_SET USING 'VBAP-MATNR(02)' XVBAP-MATNR.
order quantity
PERFORM DYNPRO_SET USING 'RV45A-KWMENG(02)' XVBAP-WMENG.
desired delivery date
PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(02)' WLDAT.
sales unit
PERFORM DYNPRO_SET USING 'VBAP-VRKME(02)' XVBAP-VRKME.
ENDIF.
ENDLOOP.
ENDFORM. " DYNPRO_POSITION
FORM RETURN_VARIABLES_FILL USING ERRORCODE.
allocate IDOC numbers to Workflow output parameters
IF MASS_PROCESSING <> SPACE.
IF ERRORCODE = 0.
RETURN_VARIABLES-WF_PARAM = PID.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
RETURN_VARIABLES-WF_PARAM = APO.
RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER.
APPEND RETURN_VARIABLES.
WORKFLOW_RESULT = C_WF_RESULT_OK.
ELSE.
RETURN_VARIABLES-WF_PARAM = EID.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
ENDIF.
ELSE.
IF ERRORCODE = 0.
RETURN_VARIABLES-WF_PARAM = APE.
RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER.
APPEND RETURN_VARIABLES.
WORKFLOW_RESULT = C_WF_RESULT_OK.
ELSE.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
ENDIF.
ENDIF.
ENDFORM. " RETURN_VARIABLES_FILL
Globale Daten von IDOC_INPUT_TESTER
TABLES: E1HEAD, E1ITEM.
DATA: BEGIN OF BDCDATA OCCURS 500.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.
DATA: BEGIN OF XVBAK. "Kopfdaten
INCLUDE STRUCTURE VBAK621.
DATA: END OF XVBAK.
DATA: BEGIN OF XVBAP OCCURS 50. "Position
INCLUDE STRUCTURE VBAP.
DATA: WMENG(18) TYPE C.
DATA: LFDAT LIKE VBAP-ABDAT.
DATA: KSCHL LIKE KOMV-KSCHL.
DATA: KBTRG(16) TYPE C.
DATA: KSCHL_NETWR LIKE KOMV-KSCHL.
DATA: KBTRG_NETWR(16) TYPE C.
DATA: INCO1 LIKE VBKD-INCO1.
DATA: INCO2 LIKE VBKD-INCO2.
DATA: YANTLF(1) TYPE C.
DATA: PRSDT LIKE VBKD-PRSDT.
DATA: HPRSFD LIKE TVAP-PRSFD.
DATA: END OF XVBAP.
DATA: BEGIN OF DYNPRO,
EINSTIEG LIKE T185V-DYNNR VALUE 101,
KKAU LIKE T185V-DYNNR,
UER2 LIKE T185V-DYNNR,
KBES LIKE T185V-DYNNR,
ERF1 LIKE T185V-DYNNR,
PBES LIKE T185V-DYNNR,
PKAU LIKE T185V-DYNNR,
PEIN LIKE T185V-DYNNR,
EID1 LIKE T185V-DYNNR,
POPO LIKE T185V-DYNNR,
EIPO LIKE T185V-DYNNR,
KPAR LIKE T185V-DYNNR,
PSDE LIKE T185V-DYNNR,
PPAR LIKE T185V-DYNNR,
KDE1 LIKE T185V-DYNNR,
KDE2 LIKE T185V-DYNNR,
PDE1 LIKE T185V-DYNNR,
PDE2 LIKE T185V-DYNNR,
PKON LIKE T185V-DYNNR,
END OF DYNPRO.
DATA: BEGIN OF PANEL,
KKAU LIKE T185V-PANEL VALUE 'KKAU',
UER2 LIKE T185V-PANEL VALUE 'UER2',
KBES LIKE T185V-PANEL VALUE 'KBES',
ERF1 LIKE T185V-PANEL VALUE 'ERF1',
PBES LIKE T185V-PANEL VALUE 'PBES',
PKAU LIKE T185V-PANEL VALUE 'PKAU',
PEIN LIKE T185V-PANEL VALUE 'PEIN',
EID1 LIKE T185V-PANEL VALUE 'EID1',
EIAN LIKE T185V-PANEL VALUE 'EIAN',
POPO LIKE T185V-PANEL VALUE 'POPO',
EIPO LIKE T185V-PANEL VALUE 'EIPO',
KPAR LIKE T185V-PANEL VALUE 'KPAR',
PSDE LIKE T185V-PANEL VALUE 'PSDE',
POAN LIKE T185V-PANEL VALUE 'POAN',
PPAR LIKE T185V-PANEL VALUE 'PPAR',
KDE1 LIKE T185V-PANEL VALUE 'KDE1',
KDE2 LIKE T185V-PANEL VALUE 'KDE2',
PDE1 LIKE T185V-PANEL VALUE 'PDE1',
PDE2 LIKE T185V-PANEL VALUE 'PDE2',
PKON LIKE T185V-PANEL VALUE 'PKON',
KOAN LIKE T185V-PANEL VALUE 'KOAN',
END OF PANEL.
DATA: BEGIN OF ERRTAB OCCURS 20,
TRANS LIKE TSTC-TCODE,
ARBGB LIKE T100-ARBGB,
CLASS(1) TYPE C,
MSGNR LIKE T100-MSGNR,
TEXT LIKE T100-TEXT,
TEXT(123) TYPE C,
MSGV1 LIKE SY-MSGV1,
MSGV2 LIKE SY-MSGV2,
MSGV3 LIKE SY-MSGV3,
MSGV4 LIKE SY-MSGV4,
END OF ERRTAB.
*---- Hilfsfelder -
DATA: PROGRAMM_AUFTRAG LIKE T185V-AGIDV VALUE 'SAPMV45A'.
DATA: LAST_DYNPRO LIKE T185V-DYNNR,
WLDAT LIKE VBAK-BSTDK,
POSNR LIKE VBAP-POSNR,
FIRST(1) TYPE C VALUE 'X'.
DATA: BEGIN OF XBDCMSGCOLL OCCURS 10.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF XBDCMSGCOLL.
Terminauftrag ( Auftragsart wird fest gesetzt !)
DATA: BELEGNUMMER LIKE VBAK-VBELN.
DATA: ERRORCODE LIKE SY-SUBRC.
Statuswerte fuer IDOC-Status
DATA: BELEG_NICHT_GEBUCHT LIKE TEDS1-STATUS VALUE '51'.
DATA: BELEG_GEBUCHT LIKE TEDS1-STATUS VALUE '53'.
*- Direktwerte für Return_variables -
data:
eid like bdwfretvar-wf_param value 'Error_IDOCs',
pid like bdwfretvar-wf_param value 'Processed_IDOCs',
apo like bdwfretvar-wf_param value 'Appl_Objects',
ape like bdwfretvar-wf_param value 'Appl_Object'.
*- Direktwerte für Workflow_Result -
DATA: C_WF_RESULT_ERROR LIKE BDWFAP_PAR-RESULT VALUE '99999'.
DATA: C_WF_RESULT_OK LIKE BDWFAP_PAR-RESULT VALUE '0'. -
Message with IDOC number, created by LSMW, missing in job log in SM37
Hi gurus,
We have a temporary interface which uses LSMW to create IDOCs and update in SAP. It's used for materials, BOMs and document info records. In LSMW we have defined standard message types MATMAS_BAPI, BOMMAT and DOCUMENT_LOAD for the IDOCs. All these have the same problem.
A background job runs and starts LSMW. In the job log in SM37 I want to see which IDOCs were created. For some reason this is different in my development system and my test system, and as far as I know all settings should be the same. In the test system LSMW creates more message lines in the job log, than it does in the dev system. Message number E0-097 is "IDOC XXXX added", and this is missing in the dev system.
This is what it looks like in the dev system:
Data transfer started for object 'MATMAS' (project 'X', subobject 'Y') /SAPDMC/LSMW 501 I
Import program executed successfully /SAPDMC/LSMW 509 I
File 'XXX.lsmw.read' exists /SAPDMC/LSMW 502 I
Conversion program executed successfully /SAPDMC/LSMW 513 I
Data transfer terminated for object 'MATMAS' (project 'X', subproject 'Y') /SAPDMC/LSMW 516 I
And this is what it looks like in the test system. More information, which is exactly what I want in dev system too:
Data transfer started for object 'MATMAS' (project 'X', subobject 'Y') /SAPDMC/LSMW 501 I
Import program executed successfully /SAPDMC/LSMW 509 I
File 'XXX.lsmw.read' exists /SAPDMC/LSMW 502 I
Conversion program executed successfully /SAPDMC/LSMW 513 I
File 'XXX.lsmw.conv' exists /SAPDMC/LSMW 502 I
IDoc '0000000002489289' added E0 097 S
File 'XXX.lsmw.conv' transferred for IDoc generation /SAPDMC/LSMW 812 I
Data transfer terminated for object 'MATMAS' (project 'X', subproject 'Y') /SAPDMC/LSMW 516 I
In both cases the IDOC is created and update works fine.
My only issue is that I can't see the IDOC number in the dev system. I know I can get the IDOC number in WE02, but in this case we have program logic which reads the job log to be able to check IDOC status before sending OK message back to the other side of the interface.
I hope any of you can have an idea how I can update somewhere to get message E0-097 with IDOC number into the log.
Regards,
LisbethHi Arun,
If you want to show your messages in the job log you have to use the MESSAGE statement. In case you use WRITE statements an output list be created which can be found in the spool (there is an icon to go to the spool directly).
Regards,
John. -
Error on creation of customer classification processing with IDOC CLFMAS
Hy everybody,
I create customer in 4.6c system.
So I use IDOC DEBMAS for customer data and CLFMAS for classification.
But when processing the classification IDOC,after customer integration, i have the following message return by IDOC.
==> "Vendor & does not exist".
But IDOC status is set to 53.
I have filled the structure E1OCLFM with the following values:
- MSGFN = 009 for creation
- OBTAB = KNA1 (for customer)
- OBJEK = Customer number created previously
- KLART = 011 (Customer Class)
- MAFID = 0
- OBJECT_TABLE = KNA1
So i don't understand why i have this message.
Does anyone help me on this problem?
Thank in advance.Hi Ludovic,
How did you resolve your earlier issue with correction of parther profile? I am getting teh same error while posting CLFMAS for a customer i.e. OBJEK 1100000215 ( KNA1) not found, where 1100000215 is my customer number ( KUNNR).
Could you please advise me how to resolve this?
Many thanks in advance
Regards
Dev -
IDoc Status 02 ( Could not find code page for receiving system )
Hi All,
I am getting Idoc status 02 when I am trying to send IDocs from ECC to PI system ( Production ).
Error description.
Could not find code page for receiving system
Message no. E0266
Diagnosis
For the logical destination PIP001, you want to determine the code page in which the data is sent with RFC. However, this is not currently possible, and the IDoc cannot yet be dispatched.
Procedure for System Administration
Possible causes are:
1. The entry no longer exists in the table of logical destinations.
2. The target system could not be accessed at runtime.
3. The logon language is not installed in the target system.
4. In the destination system, no logon language is maintained
Please help.
Thanks - Vinay.Hi Vinay,
Status 02 occurs when data is not passed to port suceessfully. Check the RFC desination is working fine and your able to connect to target system and also check correct port is assigned.
Regards,
Vinod.
Maybe you are looking for
-
Hi - I've got a Zen Jukebox USB 2.0, and I now find I cannot use it with Windows Vista! Needless to say I'm not very happy! Are there any solutions All the best, Jeremy
-
Why do we use static block ????
my question is that why do we use static block for certain statements and declarations ?? what advantage do they hold??? Please help me........
-
When attempt to publish, I get an error
I have several flash files linked to one page of my Muse site. When I attempt to publish I get an error that says I have lost contact with the server, and try later. This has been going on for 2 days. Always happens when the flash files are attemp
-
Why all of a sudden am I having difficulty sending Gmail emails? I get a send error. When I run diagnostics there is a SMTP and IMAP account for Gmail and I am not sure how to fix this.
-
How to install a mouse model M5769
I WANT TO ADD A MOUSE TO AN APPLE MACBOOK 2010 BUT I CANT, HOW CAN I CHECK IF ITS THE BATTERY?