BATMAS IDocs not gettting generated using Change Pointers
Hi,
I have scenario where I am supposed to replicate Batch between R/3 & Ware House Systems. So, for this I am using the standard BAPI to generate IDocs correctly for the batch.
Now, when I go and change the document flow i.e. make changes to the Batch using transaction MSC2N and saving a new document is getting generated.
Change Pointers are active globally and also on the message type. Now when I use the transaction BD21 to generate IDocs, they are getting created successfully for the distribution model that is existing. Now, when I add a filter in my distribution model based on Plant IDocs are not getting generated.
Can any one let me know if I missed out any configuration step or else what needs to be done in order to solve this issue.
Raghuram.
Is this thread still valid? If not, please close the thread.
If so, as no response has been submitted, please rephrase your question and/or provide further information to describe your requirement.
Thanks
Jason
SDN SRM Moderator Team
Similar Messages
-
Trigger IDOC using change pointers
Dear All,
We are using change pointers for triggering IDOC's when a cost centere is creaed/changed/deleted.
We are using message type COSMAS for the same.
I have maintained all the necessary settings including Distrubution model.
When a cost centre is created or changed the IDOC is getting triggered ( After executing prgroam RBDMIDOC ).
But when we delete an cost centre the IDOC is not getting triggered.
I am able to see the releated entries in BDCP and BDCPV tables as well as CDHDR and CDPOS tables.
Can any one say how this can be achieved? When a cost centre is deleted then also IDOC should get triggered.
Regards,
SRavanWhen we remove an Cost center it physically gets deleted from the data base.There is no delete indicator as such
-
Can anyone send me link of IDOC gentn using change pointers!
Hey guys I need to learn IDOC generation using change pointers.Please send me some help notes and link and sample program on that !
Hi,
Change pointers are the mechanism through which you can send data to another SAP system or external system if there is a change happening to specific fields of master data.
For more information, please check this link.
http://www.angeli.biz/www5/cookbooks/workflow/workflow_30/docu.htm
http://help.sap.com/saphelp_nw04/helpdata/en/12/83e03c19758e71e10000000a114084/content.htm
Regards, -
Delivery IDOC not getting generated
Hi All,
I have created an outbound delivery IDOC. The process is that the idoc should be trigerred as soon as the delivery is created/changed or deleted. I am having an issue. The idoc is getting trigerred as soon as the delivery is getting created but not in the case of the delivery change.
I am not able to get the probable reason for that. Please let me know the probable reasons for that and where can i check that.
Regards,
SharadenduHi Sharadendu,
For this you have to use Change pointers concept.
see the explanation below
System will remeber every change for a table related to an IDOC. eg. if costcenters are changes. tables csck and cskt will change. Having a change pointer for IDOC type cosmas which reflects costcenters. Any change made by using the KS* transactions will now be recorded. Usinf the change pointers you can now generate IDOCS so that the changes are sent to the dependant systems.
use bd50 to acivate change pointers, use bd21 to generate idocs, use bd64 to determine the distribution of those idocs.
PLs. reward if useful.....
cheers,
Hema. -
Difficulties using change pointers
Hi all.
We are currently working on a project where we will have SAP HR as the master HR table, and distribute changes to connected systems. To to this we will use change pointers to track and collect changes to master data, and create IDoc for distribution. I have a question regarding the validity-periods for all objects in SAP.
Say I activate change pointers to track changes to master data. Is the IDoc always created when you enter the information in SAP (which not necessarily is the same date as valid-from date)? This would allow the receiving system to perform other related tasks, such as setting up email accounts for a new hire, before the actual change is implemented in the receiving system. On the other hand, the receiving system does not support the valid-from date concept, so we cannot transfer the IDoc to the receiving system until the change is actually effective. A solution here would be to create an email when the data is entered in SAP, and send the email to the receiving system instead of the Idoc, stating what action occured. This would allow the receiving system owner to perform these related tasks. Is this possible? If so, it brings me to my next question.
Is it possible to create IDoc for transfer from SAP when a valid-from date becomes effective? Since the receiving system does not support valid-from dates the IDoc can only be sent when the data is actually effective.
Any help on this issue is highly appreciated.Hi all.
We are currently working on a project where we will have SAP HR as the master HR table, and distribute changes to connected systems. To to this we will use change pointers to track and collect changes to master data, and create IDoc for distribution. I have a question regarding the validity-periods for all objects in SAP.
Say I activate change pointers to track changes to master data. Is the IDoc always created when you enter the information in SAP (which not necessarily is the same date as valid-from date)? This would allow the receiving system to perform other related tasks, such as setting up email accounts for a new hire, before the actual change is implemented in the receiving system. On the other hand, the receiving system does not support the valid-from date concept, so we cannot transfer the IDoc to the receiving system until the change is actually effective. A solution here would be to create an email when the data is entered in SAP, and send the email to the receiving system instead of the Idoc, stating what action occured. This would allow the receiving system owner to perform these related tasks. Is this possible? If so, it brings me to my next question.
Is it possible to create IDoc for transfer from SAP when a valid-from date becomes effective? Since the receiving system does not support valid-from dates the IDoc can only be sent when the data is actually effective.
Any help on this issue is highly appreciated. -
Using change pointers for Process orders
Hi Experts,
We have a requirement where we need to send idocs when a process order is changed. Since process order data is a transactional data, can we still use change pointers?
We tried using the message type LOIPRO and it is giving an error saying that this message type cannot be sent with change pointers.
Can anyone guide me with the process and steps to get this done?
Thanks.For change pointer, you would have to deligate the business object with t.code SWO1. To handle it, it would take too much time to explaint.
If you use the BAdI, and call function in this way : " CALL FUNCTION 'FUNCTION_NAME' IN BACKGROUND TASK AS SEPARATE UNIT EXPORTING ....." the function would executed only after commit (when you call the funtion, it holds in a queue for commit. In roll back, it get disapeared).
User method in_update from the BAdI.
Edited by: Lior Tabib on Oct 19, 2010 4:18 PM
Edited by: Lior Tabib on Oct 22, 2010 7:27 PM -
Emails not being generated using UDF
Hi,
We had setup a functionality to send email via UDF using the following blog.
Mail without email adapter? Part - I - Process Integration - SCN Wiki
This worked fine for some time. However, it does not generate emails anymore. There were no changes done on the objects. We checked the java mail service settings as suggested in some of the SCN posts and everything looks configured fine.
We are not able to determine what is preventing the emails from being generated. Any pointers would be really helpful.
We are using SAP PI 7.31 java only installation.
Thanks,
RaviHi Ravi,
Did you check SMTP services availability?
SMTP Configuration in SAP XI - Process Integration - SCN Wiki
Regards,
Krupa -
STPPOD.DELVRY03 idoc not getting generated
Dear Experts,
I have done the following settings for STPPOD.DELVRY03 but still idoc is not getting generated when i am posting goods reciept using VL32N
1) For Confirmation control key selected A-Always POD Relevant
2) For Item category ELN POD Relevant X and POD Automatic
SAP->Customizing Implementation Guide -> LogisticsExecution ->Shipping
->Deliveries ->Proof of Delivery ->Set POD-Relevance Depending on
Delivery Item Category
3) In Vendor Master the field "POD-Relevant" is assigned the value "A".
4) In NACE settings
Application:E1
condition records & output type:OPOD
Delivery type:EL
Function:LS
4) In pratner profile
Partner Type-->LS
Partner Role --> blank)
Message Type-->STPPOD
Basic Type ->DELVRY03
and under message control
Application->E1
Message Type
Process code-->OPOD
Please suggest me if I am missing out on someting.
Thanks
Gaurav GuptaHi Gaurav,
Typically for STPPOD Idocs, the NACE and WE20 Settings are maintained at Vendor Level. Try changing your settings and see if it works.
Refer this link for further details : Re: STPPOD triggered sending wrong material from SAP to SNC
Thanks,
Bharath -
Inbound IDoc not getting generated in XI System
Hi all,
I have created a scenario following the given weblog:
<b>/people/udo.martens/blog/2005/09/30/one-logical-system-name-for-serveral-bpm-acknowledgements
The first half of this scenario is working fine and the <b>idoc data is getting posted into the the oracle table successfully</b>.
The business process is successfully sending the <b>acknowledgement IDOC 'ALEAUD'</b> to the XI server using an HTTP Receiver Channel.
The problem is that <b>no inbound IDOC</b> can be seen in the XI system using tcode <b>we05</b>.
Next the xi system has to send the same IDoc to the R/3 system. But as no IDoc is getting generated in XI, nothing gets sent to R/3.
Can anyone suggest what could be the possible error.
Pls help.
Regards,
NeetuHi,
You will not see that IDOC in WE05 of the XI system. You can see that only in SXMB_MONI. XI system will not store any IDOC. When it enters XI it is a XML message and it will not post any IDOC that you can see in WE05.
If you need to send the IDOC back to R/3 system, you can use BPM and send back the IDOC to R/3. If you need few details from Oracle tables that is to be sent back to R/3 then get those values from Oracle tables and fill in the same IDOC and send it back to R/3.
Try this and let me know.
Thanks,
Prakash -
CRMXIF_ORDER_SAVE IDOC not getting generated for BUS_TRANS_MSG BDOC
Hello Experts,
In our project, we have a requirement to send custom fields in the BUS_TRANS_MSG to external system through XIF. The model of BDOC BUS_TRANS_MSG triggering IDOC CRMXIF_ORDER_SAVE_M02 perfectly worked in the development system. We wanted to try the custom field extension in the Sandbox. So as per OSS note 916093, we have extended E101_CRMXIF_CUSTOMER_H segments with custom fields and tried generating the interfaces in BDFG transaction. While generation with IDOC CRMXIF_ORDER_SAVE_M we got an error message "Incompatible change to complex data type
type E101CRMXIF_ISU_PRA1_X". So went about creating a custom IDOC ZZ_CRMXIF_ORDER_SAVE_M02 for message CRMXIF_ORDER_SAVE. Even for this config, the IDOC is not getting generated for the BDOCs. Lastly, configured the IDOC ZZ_CRMXIF_ORDER_SAVE_M02 to a custom function module ZZ_BDFG_IDOC_TEST_FM. The FM got generated and activated, even then the IDOC is not generated for the BDOC.
SMOEAC config in Sandbox looks the same as the Development system. We do not the reason why IDOC is not getting generated and also the reason for error in BDFG while generating the interfaces after adding custom fields to CUSTOMER_H segment.
Any help would be appreciated.
Thanks,
ParthaHi Partha,
Kindly check the following thread.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/406efa7e-388a-2910-f9b8-81913b0ca57f?QuickLink=index&overridelayout=true
XIF adapter
Hope it answers your Query
Regards,
Srikanth.Naga -
Table maintenance generator and Change pointers
If a Ztable contains table maintenance generator, then the change pointers will not work?
Hi Saraoja,
If you want make active your change pointers for your Ztable, then in your Zfields, get into the Data element and click futher Characteristics tab, there you have one check box called Change document, Check that box and activate your data element again.Now your Zfield changes will reflect in CDHDR and CDPOS.
Thanks -
Use change pointers to send complete employee in HRMD_A
Hi
I need to distribute employee data from my SAP system. I want to send a Idoc every time a record in PA30 is changed. But know it only sends out a IDoc with the infotype that is changed, I need to distribute all infotype's.
Example: One person is changed in infotype IT0002. I need to send out not only IT0002 but also IT0006 and IT0008.
Is there a way to solve this?
Best Regards,
MortenHello Morten,
Yes, you can do it. I have done same thing in one of my interface. You need to write code into BADI.
BADI : BDCP_BEFORE_WRITE
Method : FILTER_BDCPV_BEFORE_WRITE
Basic idea is to populate internal table change_pointers with remaining infotype details.
Refer following code for reference....
BADI implemented in order to send customised data as
maintained in the distribution mdoel
METHOD if_ex_bdcp_before_write~filter_bdcpv_before_write.
Type Declaration
TYPES : BEGIN OF ts_range,
sign TYPE tvarv-sign,
option TYPE tvarv-opti,
low TYPE tvarv-low,
high TYPE tvarv-high,
END OF ts_range.
TYPES : BEGIN OF ts_group,
int_grp TYPE zthr_infty_subty-int_grp,
END OF ts_group.
Internal table
DATA:
lt_zthr_infty_subty TYPE TABLE OF zthr_infty_subty,
lt_dist_infty_subty TYPE TABLE OF t788u,
lt_groups TYPE TABLE OF ts_group.
DATA:
lt_changed_objects TYPE TABLE OF hrobjinfty.
DATA :
lr_infty TYPE RANGE OF t591s-infty, " Range for infotypes
lr_subty TYPE RANGE OF t591s-subty. " Range for subtypes.
Work Areas
DATA:
lw_change_pointers TYPE bdcpv,
lw_change_pointers1 TYPE bdcpv,
lw_text(254) TYPE c,
lw_infty TYPE ts_range,
lw_subty TYPE ts_range,
lw_groups TYPE ts_group.
DATA:
lw_zthr_infty_subty TYPE zthr_infty_subty, "Infotype & Subtype
lw_zthr_infty_subty1 TYPE zthr_infty_subty, "Infotype & Subtype
lw_dist_infty_subty TYPE t788u. "Infotypes
DATA:
lw_changed_objects TYPE hrobjinfty,
lw_changed_objects1 TYPE hrobjinfty,
lw_changed_objects2 TYPE hrobjinfty.
Local Variables
DATA:
lv_tabix TYPE sy-tabix, " Table index
lv_cpident TYPE cpident, " Change pointer no.
lv_pernr TYPE pa0000-pernr, " Employee Number
lv_tabname TYPE dd02t-tabname, " Table Name
lv_abkrs TYPE pa0001-abkrs, " Payroll Area
lv_infty(4) TYPE n. " Infotype Number
Local Constants
CONSTANTS:
lc_e TYPE t591s-sprsl VALUE 'E',
lc_i TYPE tvarv-sign VALUE 'I',
lc_x TYPE c VALUE 'X',
lc_7 TYPE c VALUE '7',
lc_p TYPE otype VALUE 'P',
lc_zhrmd TYPE edi_mestyp VALUE 'ZHRMD_A',
lc_eq TYPE tvarv-opti VALUE 'EQ',
lc_pa(2) TYPE c VALUE 'PA',
lc_begda TYPE sy-datum VALUE '19000101',
lc_02 TYPE pa0001-abkrs VALUE '02',
lc_1000(4) TYPE n VALUE '1000',
lc_2000(4) TYPE n VALUE '2000'.
Clear all local variables / internal tables / Work Areas
REFRESH : lt_groups,
lr_infty,
lr_subty,
lt_changed_objects.
CLEAR : lv_tabix,
lv_abkrs,
lw_change_pointers,
lw_dist_infty_subty,
lv_tabname,
lw_groups.
Select only otypes and infotypes from distribution model
Read change infotype / subtype data
IF NOT change_pointers[] IS INITIAL.
LOOP AT change_pointers INTO lw_change_pointers.
lw_changed_objects = lw_change_pointers-tabkey.
Filter CE Employee if Pay-Area not '02' ***
IF flt_val EQ lc_zhrmd. " Check for CE emploeyee
SELECT abkrs
INTO lv_abkrs
FROM pa0001 UP TO 1 ROWS
WHERE pernr EQ lw_changed_objects-objid
AND endda GE sy-datum
AND begda LE sy-datum
AND abkrs EQ lc_02.
ENDSELECT.
IF sy-subrc EQ 0.
APPEND lw_changed_objects TO lt_changed_objects.
ELSE.
DELETE change_pointers.
ENDIF.
ELSE.
APPEND lw_changed_objects TO lt_changed_objects.
ENDIF. " IF flt_val EQ lc_zhrmd.
ENDLOOP. " LOOP AT change_pointers INTO lw_change_pointers.
lv_cpident = lw_change_pointers-cpident.
ENDIF. "IF NOT change_pointers[] IS INITIAL.
Select only otypes and infotypes from distribution model**
Select corresponding infotypes / subtypes from table **
ZTHR_INFTY_SUBTY to create change pointers **
CALL FUNCTION 'RH_DISTRIBUTED_INFOTYPES'
EXPORTING
message_type = flt_val
check_model = lc_x
TABLES
distributed_infty_subty = lt_dist_infty_subty.
IF NOT lt_dist_infty_subty[] IS INITIAL.
Read table ZTHR_INFTY_SUBTY
SELECT mandt " Client
mestyp " Message Type
infty " Infotype
subty " Info Subtype
int_grp " Change pointer group
INTO TABLE lt_zthr_infty_subty
FROM zthr_infty_subty AS a
FOR ALL ENTRIES IN lt_dist_infty_subty
WHERE mestyp EQ flt_val
AND infty EQ lt_dist_infty_subty-infty.
IF sy-subrc EQ 0.
CLEAR : lw_changed_objects.
LOOP AT lt_changed_objects INTO lw_changed_objects.
MOVE : lw_changed_objects TO lw_changed_objects2.
AT NEW objid.
Read all groups belongs to infotype.
CLEAR : lw_groups.
REFRESH: lt_groups.
LOOP AT lt_zthr_infty_subty INTO lw_zthr_infty_subty
WHERE infty = lw_changed_objects2-infty
AND subty = lw_changed_objects2-subty.
lw_groups = lw_zthr_infty_subty-int_grp.
APPEND lw_groups TO lt_groups.
ENDLOOP. " LOOP AT lt_zthr_infty_subty INTO ....
Do not create change pointer if infotype not maintained in
table 'ZTHR_INFTY_SUBTY'.
IF sy-subrc NE 0.
DELETE change_pointers WHERE
tabkey+12(4) = lw_changed_objects2-infty
AND tabkey+16(4) = lw_changed_objects2-subty.
ENDIF. " IF sy-subrc NE 0.
Read all infotypes belongs to all above groups.
LOOP AT lt_groups INTO lw_groups.
LOOP AT lt_zthr_infty_subty INTO lw_zthr_infty_subty
WHERE int_grp EQ lw_groups-int_grp.
Check if change pointer already present
READ TABLE lt_changed_objects INTO lw_changed_objects1
WITH KEY infty = lw_zthr_infty_subty-infty
subty = lw_zthr_infty_subty-subty.
IF sy-subrc NE 0.
Check if data exist for infotype / subtype
IF lw_changed_objects-otype EQ lc_p.
CONCATENATE : lc_pa lw_zthr_infty_subty-infty
INTO lv_tabname.
SELECT SINGLE pernr
INTO lv_pernr
FROM (lv_tabname)
WHERE subty EQ lw_zthr_infty_subty-subty
AND pernr EQ lw_changed_objects2-objid.
IF sy-subrc EQ 0. " Change pointer for employee
Create change pointer for infotype / subtype combination
ADD 1 TO lv_cpident.
lw_change_pointers-cpident = lv_cpident.
lw_change_pointers-tabkey+12(4) = lw_zthr_infty_subty-infty.
lw_change_pointers-tabkey+16(4) = lw_zthr_infty_subty-subty.
lw_change_pointers-tabkey+20(8) = lc_begda.
APPEND lw_change_pointers TO change_pointers.
ENDIF. " IF sy-subrc EQ 0.
ELSE.
Create change pointer for Org Data
ADD 1 TO lv_cpident.
lw_change_pointers-cpident = lv_cpident.
lw_change_pointers-tabkey+12(4) = lw_zthr_infty_subty-infty.
lw_change_pointers-tabkey+16(4) = lw_zthr_infty_subty-subty.
lw_change_pointers-tabkey+20(8) = lc_begda.
APPEND lw_change_pointers TO change_pointers.
ENDIF. " IF lw_changed_objects-objtyp EQ lc_p.
ENDIF. " IF sy-sybrc NE 0.
ENDLOOP. " LOOP AT lt_zthr_infty_subty INTO..
ENDLOOP. " LOOP AT lt_groups INTO lw_groups.
ENDAT. " AT NEW objid.
ENDLOOP. " LOOP AT lt_changed_objects INTO lw_changed_objects.
ENDIF. " IF sy-subrc EQ 0.
ENDIF. " IF NOT lt_dist_infty_subty[] IS INITIAL.
ENDMETHOD.
But make sure you maintained remaining infotypes in distribution model. I have created table zthr_infty_subty twhere I am keeping track of all infotype and subtype for which I have to send a data.. You can hardcode values in u r program if you want / if you know the all infotype for which you have to send data.
if you still have any doubt / issues let me know your email id will mail you badi-code.
Cheers,
Nilesh -
When executing t.code VL03N then IDOC not getting generated
I have a issue in upgarde project as below;
Go to transaction VL03N
-Enter Outbound Delivery number
-Click on document flow
-Select Goods issue material document and click on Display Document
-Material document is displayed.
-Then go to: System -> Services for Object
-Click on display Relationship
-IDOC number must be displayed.
But Idoc not generated, here only material documets are displaying, pleass let me know what is the error.
Thanks in advance,
VishwanathHi,
IDOCs will not be triggered in VL03N. IDOCs will be triggered in either VL02N or VL01N based on the output type maintained (if you are triggering idoc based on Message control).
Regards
Vinod -
BBPCO IDoc not being generated
I'm using Extended Classic and appear to have a problem with the BBPCO IDOC.
I've completed all the required config steps (including process codes etc) and am happy that it's correct.
If I create a cart with a local product category, the Idoc is generated successfully.
If, however, I create a cart with a replicated material group, the Idoc is not generated.
The display only PO is successfully transferred to the backend but there are no commitments.
Has anyone got any ideas as to the reasons that could be behind this ?
Regards
KeithHi,
In the ECS scenario, thee duplicated PO generates directly the commitment : everything is handled by the backend.(no idoc)
If you create directly a R/3 PO (with same data as created from SRM) , is commitment created ?
Kind regards,
Yann -
IDocs not being generated...
Hi,
In my interfaces(file->XI->Idoc), The Idocs remain scheduled on the outbound side with green flags. They don't get generated and delivered to SAP. I've checked the queues(empty). The idx1 config is fine. What next?
Regards,
HarshHi,
Check out the trace message in the SXMB_MONI ,
Are you using BPM here ? If so check the BPM status
Check all queues are registered ? SXMB_ADM and check out this
Then also check about Receiver determination and Receiver Business Service is pointing to correct R/3 system.Look into Adapter Specific Message Identifiers for the Reciever Business Service.
regards,
moorthy
Maybe you are looking for
-
Adobe Acrobat Standard v 8 works, but print-to-PDF does not
I've been trying to migrate my main computer usage from an XP desktop to a Windows 7 laptop. I've had Acrobat Standard v 8 on both computers for years but have rarely used the laptop. (I mostly used the laptop as a dumb terminal to reach through the
-
Urgent problem in struts bc4j app
The problem occurs between the Controller an the View Layer(can I debug there?) Anyway, I can see the data in the Action class, but not in the jsp page, there's just one row (the first). Thank you. I'm using the 9.0.3.3 build 1205 The Action class: p
-
There are have been a number of people with this problem: "I just updated my iPhone 5 to iOS 7. Now I have thousands of unread emails!!! But they've actually been read. What do I do to fix this?" The typical answer is: "You must be using POP
-
Hi, we are woking on a prototype to integrate Audit Vault with BAM. We were able to read the AV AQ through a BPEL AQ-Adapter (after some workarounds because the original AV AQ has some attribute names with '#' which causes some errors while defining
-
Dear I do both exercise but still the problem is there what I can do,how can I get back my phone iOS 6 can u assist me please Waiting your valuable support